++
On Mon, Feb 8, 2010 at 2:29 PM, Monty Taylor <[email protected]> wrote:
> Ah - so this brings me to the next thing I was going to suggest, which
> is to move inline method bodies out of the class definition (also
> suggested in the Ellemtel standard [1]) If we do that, it also solves
> the "want to keep parameter name for documentation reason, but need to
> remove it because it's unused in the inline method body" problem. Like so:
>
> class Foo
> {
> public:
> explicit Foo(std::string &name_in);
> void doSomething(int x, int y);
> private:
> std::string name;
> };
>
> inline void Foo::doSomething(int x, int)
> {
> string new_name(name);
> for(int num= 0; num < x; ++num)
> {
> new_name.append(name);
> }
> name= new_name;
> }
>
> This way our classes start to be more readable as interfaces but we keep
> inline functions in the headers for the speed reasons.
>
> Thoughts?
>
> [1] http://www.doc.ic.ac.uk/lab/cplus/c++.rules/chap6.html#sect2
>
> Eric Day wrote:
> > In the case that some private vars are required before public/protected
> > methods (inline methods), is it preferred to put *all* vars in a
> > private section before the methods, or only the ones required? I
> > would say all vars so you don't have two var sections, and to make
> > packing possibly more efficient.
> >
> > While I agree with public before private for API readability,
> > I still am not sure this is the most practical. Because the
> > inline-requiring-private-vars case is somewhat common, I would almost
> > propose private before public so we don't have a bunch of classes
> > with what looks like different styles.
> >
> > Also, I'm not saying language designers are always correct in their
> > vision, but the fact that the 'default' access level is private may
> > say something about what should come first. :)
> >
> > I could go either way.
> >
> > -Eric
> >
> > On Mon, Feb 08, 2010 at 01:01:05PM -0500, Jay Pipes wrote:
> >> ++
> >>
> >> On Mon, Feb 8, 2010 at 12:35 PM, Monty Taylor <[email protected]>
> >> wrote:
> >>
> >> Padraig O'Sullivan wrote:
> >> > Hi!
> >> >
> >> > I was working on a class today in Drizzle and wasn't sure what
> the
> >> > coding standard is with regard to declaration order i.e. public
> before
> >> > private or private before public. There is a sub-section on this
> in
> >> > the coding standards right now which indicates no conclusion was
> made:
> >> >
> >> > http://drizzle.org/wiki/Coding_Standards#Declaration_Order
> >> >
> >> > Personally, I prefer public before private. But I'd like to at
> least
> >> > choose one order and place it in the coding standards so we can
> be
> >> > consistent.
> >>
> >> Both the Google C++ coding standards [1] and the Ellemtel C++
> standards
> >> [2] require public: then protected: then private:. [3][4] I tend to
> >> agree... when I start reading a class def, I'm usually looking for
> API
> >> first, and I can read further if I want to see implementation
> details.
> >>
> >> So my vote is to swipe the text from the Google standard (I like
> their
> >> supplementary text too.
> >>
> >> [1] http://google-styleguide.googlecode.com/svn/trunk/cppguide.xml
> >> [2] http://www.doc.ic.ac.uk/lab/cplus/c++.rules/
> >> [3]
> >>
> http://google-styleguide.googlecode.com/svn/trunk/cppguide.xml#Declaration_Order
> >> [4] http://www.doc.ic.ac.uk/lab/cplus/c++.rules/chap6.html#sect1
> >> _______________________________________________
> >> Mailing list:
> >> https://launchpad.net/~drizzle-discuss<https://launchpad.net/%7Edrizzle-discuss>
> >> Post to A A : [email protected]
> >> Unsubscribe :
> >> https://launchpad.net/~drizzle-discuss<https://launchpad.net/%7Edrizzle-discuss>
> >> More help A : https://help.launchpad.net/ListHelp
> >
> >> _______________________________________________
> >> Mailing list:
> >> https://launchpad.net/~drizzle-discuss<https://launchpad.net/%7Edrizzle-discuss>
> >> Post to : [email protected]
> >> Unsubscribe :
> >> https://launchpad.net/~drizzle-discuss<https://launchpad.net/%7Edrizzle-discuss>
> >> More help : https://help.launchpad.net/ListHelp
> >
> >
>
>
_______________________________________________
Mailing list: https://launchpad.net/~drizzle-discuss
Post to : [email protected]
Unsubscribe : https://launchpad.net/~drizzle-discuss
More help : https://help.launchpad.net/ListHelp