[webkit-dev] Style guide should mention that we don't use anonymous namespace

Adam Klein adamk at chromium.org
Wed Oct 19 16:54:29 PDT 2011

On Wed, Oct 19, 2011 at 4:29 PM, Ryosuke Niwa <rniwa at webkit.org> wrote:
> On Wed, Oct 19, 2011 at 4:00 PM, Darin Adler <darin at apple.com> wrote:
>> On Oct 19, 2011, at 3:58 PM, Ryosuke Niwa wrote:
>> > On Wed, Oct 19, 2011 at 3:51 PM, Darin Adler <darin at apple.com> wrote:
>> >>>  How about classes that are only used in one cpp file? Should we be
>> >>> wrapping those in an anonymous namespace?
>> >> I’d suggest not wrapping them in an anonymous namespace. Debugging
>> >> tools work better when classes have unique names.
>> >
>> > Has this been a convention we use?
>> I’m not sure how to answer that. I have not used anonymous namespaces in
>> any WebKit code I contributed, and the first case of doing so that I recall
>> was when Adam Barth used some in the HTML parser work.
> Okay. Sounds like it's left to reviewers' and committers' discretions. It'll
> be still nice to give some guidance on when we should and should not use
> anonymous namespaces so that I don't have to engage in a debate on every
> code review.
> I personally don't like anonymous namespaces because VS.net's class view
> separates classes within anonymous namespace from the
> rest: http://goo.gl/2IkzQ (screen shot)
> But I think we've established that we prefer having unique class/function
> names over using anonymous namespaces.

Note that unless we're running some extra analysis over the codebase
beyond the standard compilation, uniqueness won't be enforced.  The
compiler isn't required to warn if the same name is used in different
translation units.  While this might be only a theoretical danger
(Darin asked above for cases where we've actually had name collisions,
and I haven't been around long enough to know the answer), the
symptoms of such a collision can be quite subtle.

- Adam

More information about the webkit-dev mailing list