[Github-comments] [geany/geany] Update HACKING for best practices (C99) (#1282)

Matthew Brush notifications at xxxxx
Sat Oct 29 12:28:56 UTC 2016


codebrainz commented on this pull request.



> @@ -200,8 +200,18 @@ Coding
   moment, we want to keep the minimum requirement for GTK at 2.24 (of
   course, you can use the GTK_CHECK_VERSION macro to protect code using
   later versions).
-* Variables should be declared before statements. You can use
-  gcc's -Wdeclaration-after-statement to warn about this.
+* Variables should be declared (and initialized) as close as practical
+  to their first use. This reduces the chances of intervening code being
+  inserted between declaration and use, where the variable may be
+  uninitialized.
+* Variables should be defined within the smallest scope that is practical,
+  for example inside a conditional branch which uses them or in the
+  initialization part of a for loop.
+* Local variables that will not be modified should be marked as ``const``
+  to indicate intention. This allows the compiler to give a warning if
+  part of the code accidentally tries to change the value. This does not
+  apply to non-pointer parameters where it needlessly exposes the
+  implementation and it's obvious a copy is made anyway.

I don't think it's a horrible idea, just that from the caller's point of view it's completely pointless, and it adds a lot of noise (ie. syntax) to nearly every single function. IMO, it's worth the trade-off to avoid it and use a separate `const` local initialized to the parameter's value if you really need to ensure it's not changed for some reason.

-- 
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/geany/geany/pull/1282
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.geany.org/pipermail/github-comments/attachments/20161029/6d36e569/attachment.html>


More information about the Github-comments mailing list