On Tue, Jul 7, 2015 at 6:03 AM, Kartikaya Gupta <kgu...@mozilla.com> wrote:
> I'd be interested to know: of those people who are in favour of > removing the prefix, how many regularly have to deal with functions > that are longer than two pages (a "page" is however much code you can > see at a time in your coding environment)? All the time. -Ekr I'd be happy to support > removing the prefix if people also commit to splitting any giant > functions they touch as part of the prefix removal. > > Also FWIW in the current world I do find the prefix useful when > debugging in gdb, because I know I can keep going up a frame as long > as I'm tracing a variable with the prefix, whereas otherwise I would > have to step backwards through each frame to see where the variable is > coming from. I'll probably find some way to adapt if we remove the > prefix though. > > kats > > > On Tue, Jul 7, 2015 at 7:54 AM, Honza Bambas <hbam...@mozilla.com> wrote: > > I'm strongly against removing the prefix. I got used to this and it has > its > > meaning all the time I inspect code (even my own) and doing reviews. > > Recognizing a variable is an argument is very very useful. It's > important > > to have it and it's good we enforce it! > > > > -hb- > > > > > > On 7/7/2015 5:12, Jeff Gilbert wrote: > >> > >> I propose that we stop recommending the universal use of an 'a' prefix > for > >> arguments to functions in C and C++. If the prefix helps with > >> disambiguation, that's fine. However, use of this prefix should not be > >> prescribed in general. > >> > >> `aFoo` does not provide any additional safety that I know of.[1] As a > >> superfluous prefix, it adds visual noise, reducing immediate readability > >> of > >> all function declarations and subsequent usage of the variables within > the > >> function definition. > >> > >> Notable works or style guides [2] which do not recommend `aFoo`: [3] > >> * Google > >> * Linux Kernel > >> * Bjarne Stroustrup > >> * GCC > >> * LLVM > >> * Java Style (Java, non-C) > >> * PEP 0008 (Python, non-C) > >> * FreeBSD > >> * Unreal Engine > >> * Unity3D (largely C#) > >> * Spidermonkey > >> * Daala > >> * RR > >> * Rust > >> * Folly (from Facebook) > >> * C++ STL entrypoints > >> * IDL for web specs on W3C and WhatWG > >> * etc. > >> > >> Notable works or style guides which *do* recommend `aFoo`: > >> * Mozilla (except for IDL, Java, and Python) > >> * ? > >> > >> 3rd-party projects in our tree which do not use `aFoo`: > >> * Cairo > >> * Skia > >> * ANGLE > >> * HarfBuzz > >> * ICU > >> * Chromium IPC > >> * everything under modules/ that isn't an nsFoo.c/cpp/h > >> * etc.? > >> > >> 3rd-party projects in our tree which *do* recommend `aFoo`: > >> * ? > >> > >> As far as I can tell, the entire industry disagrees with us (as well as > a > >> number of our own projects), which means we should have a good reason or > >> two for making our choice. No such reason is detailed in the style > guide. > >> > >> I propose we strike the `aFoo` recommendation from the Mozilla style > >> guide. > >> > >> - > >> > >> [1]: Maybe it prevents accidental shadowing? No: Either this isn't > allowed > >> by spec, or at least MSVC 2013 errors when compiling this. > >> > >> [2]: I do not mean this as an endorsement of the listed works and > guides, > >> but rather as illustration on how unusual our choice is. > >> > >> [3]: I created an Etherpad into which people are welcome to gather other > >> works, projects, or style guides that I missed: > >> https://etherpad.mozilla.org/6FcHs9mJYQ > >> _______________________________________________ > >> dev-platform mailing list > >> dev-platform@lists.mozilla.org > >> https://lists.mozilla.org/listinfo/dev-platform > >> > > > > _______________________________________________ > > dev-platform mailing list > > dev-platform@lists.mozilla.org > > https://lists.mozilla.org/listinfo/dev-platform > _______________________________________________ > dev-platform mailing list > dev-platform@lists.mozilla.org > https://lists.mozilla.org/listinfo/dev-platform > _______________________________________________ dev-platform mailing list dev-platform@lists.mozilla.org https://lists.mozilla.org/listinfo/dev-platform