On Mon, Jul 8, 2019 at 11:00 PM Gerald Squelart <gsquel...@mozilla.com> wrote:
> Thank you all for some very interesting discussions so far. > > Even if we don't take blanket steps to avoid unsigned types in > non-bitfield/modulo cases (as suggested by our newly-adopted Google style), > at least hopefully we're now aware of their subtleties, and we can be more > careful and deliberate in our choice of integer types in our respective > domains. > > Coming back to my original questions, I think the first part has not been > categorically answered yet: > > Do we have style rules (or folklore) against naked `int`s/`unsigned`s, in > favor of explicitly-sized `(u)intXX_t` everywhere? > For new code, the style guide for this question can be found here: https://google.github.io/styleguide/cppguide.html#Integer_Types. For existing code, consistency with surrounding code should take precedence for now. I hope this answers your question. Cheers, Ehsan > > On Thursday, July 4, 2019 at 3:11:27 PM UTC+10, Gerald Squelart wrote: > > Recently I coded something with a not-very-important slow-changing > rarely-used positive number: `unsigned mGeneration;` > > My reviewer commented: "Please use a type with an explicit size, such as > uint32_t. (General mozilla style; you don't see a bare "unsigned" around > much)" > > > > I had never heard of this (in 4+ years), so I did a bit of research: > > > > - I found plenty of `unsigned`s around, more than `uint32_t`s. > > > > - I can't see anything about that in our coding style guides [1, 2]. > > > > - Our latest coding style [1] points at Google's, which has a section > about Integer Types [3], and the basic gist is: Use plain `int` for > "not-too-big" numbers, int64_t for "big" numbers, intXX_t if you need a > precise size; never use any unsigned type unless you work with bitfields or > need 2^N overflow (in particular, don't use unsigned for always-positive > numbers, use signed and assertions instead). > > > > So, questions: > > 1. Do we have a written style I missed somewhere? > > 2. Do we have an unwritten style? (In which case I think we should write > it down.) > > 3. What do we think of the Google style, especially the aversion to > unsigned? > > > > Cheers, > > Gerald > > > > > > [1] > https://developer.mozilla.org/en-US/docs/Mozilla/Developer_guide/Coding_Style > > [2] > https://developer.mozilla.org/en-US/docs/Mozilla/Using_CXX_in_Mozilla_code > > [3] https://google.github.io/styleguide/cppguide.html#Integer_Types > _______________________________________________ > dev-platform mailing list > dev-platform@lists.mozilla.org > https://lists.mozilla.org/listinfo/dev-platform > -- Ehsan _______________________________________________ dev-platform mailing list dev-platform@lists.mozilla.org https://lists.mozilla.org/listinfo/dev-platform