especially since many of those aren’t counting declarations, e.g …
That is precisely one of the reasons why running clang-format with the two different values on the entire src/ and comparing the relative diff size is helpful. Lines such as the ones you quoted will not contribute to the relative difference in the size of the change.
That’s not how we usually decide outcomes, rather by better explanations -
I try to present explanations, but then you respond with:
That sounds more philosophical to me
But I’ve been brewing on a variation of the argument. Say you have a C coding style with struct Foo {
and function\n{
. Then you start introducing C++. Suddenly you have these struct-like classes but they can contain functions. C++ came from Bjarne’s “C with classes” https://en.wikipedia.org/wiki/Cfront. class
could contain functions and so allowing class Foo\n{
would seem more okay. struct
s could also (eventually?) contain functions since it was sometimes useful. I know this argument is somewhat blunt, but I think our current style is influenced by the historical progression of C++ coming out of C.
Elaborating on my libsecp256k1 argument since you did not respond to it:
sipa both added the section to the coding style and wrote that library to replace OpenSSL-usage. They both happened within a year of each other. Keeping styles consistent between the two closely related project is nice for developers working on both (silent payments, musig2 and batch signature verification comes to mind as projects which span both projects). So even if our struct
style is understated, I would wager that your change to developer-notes.md constitutes a change of style rather than a clarification or specifying something that was totally arbitrary.