Go to the FreeLists Home Page Home Signup Help Login
 



[haiku-development] || [Date Prev] [09-2007 Date Index] [Date Next] || [Thread Prev] [09-2007 Thread Index] [Thread Next]

[haiku-development] Re: Haiku Coding Guidelines Issues

  • From: "Truls Becken" <truls.becken@xxxxxxxxx>
  • To: haiku-development@xxxxxxxxxxxxx
  • Date: Wed, 5 Sep 2007 14:31:47 +0200
On 9/4/07, Ingo Weinhold <bonefish@xxxxxxxxxxxxxxx> wrote:
> > The * for pointers is always located by the variable or method name,
> > right? There are examples of this, but it isn't spelled out
> > explicitly. For example:
> >
> > class Example {
> >     public:
> >         Example();
> >         ~Example();
> >
> >         const char *Name();
> >
> >     private:
> >         BString *fName;
> > }
>
> Actually as OpenBeOS started that was more or less the convention, but
> since the '*' or '&' belong to the type some people (at least Axel and me)
> consequently sticking it to the type nowadays. According to his sample file
> Michael feels the same, but still has a space between type and '*'.

I'm no Be/Haiku coding standard expert, or even developer, but I still
want to mention the following. There's a reason why it's considered
good practice to write * and & next to the variable rather than the
type. Consider this declaration:

    char* foo, bar;

Intuitively, this should declare two string variables, but the fact is
that this makes foo a string and bar a character. Grouping the * with
the variable name makes it more obvious that it modifies the type of a
single variable only. While this reasoning does not really apply to
method signatures, it's more consistant to use the same convention for
both methods and variables.

Regards,
Truls





[ Home | Signup | Help | Login | Archives | Lists ]

All trademarks and copyrights within the FreeLists archives are owned by their respective owners.
Everything else ©2007 Avenir Technologies, LLC.