<div dir="ltr"><div><div><br>Unless a pre-existing style exists, I default to using the "BSD/Allman" coding style as a matter of preference.<br><br>The Eclipse IDE has this built in as an option under the code formatter settings, although the "K&R" style format is set by default.<br><br>My preference for the BSD/Allman style comes from:<br><br>1. Use of TAB to indent. All decent, modern IDEs all allow scaling of the tab character. I like large indents (I have a 16:9 monitor and I'm not afraid to use it!), so set TAB to appear as the equivalent of 4 monospaced characters. If I pass my code over to someone else, they can easily re-scale to suit their eyes without reformatting the content (think tab stops in a word processor).<br><br>And, using a single character for a single indent is intuitive. Having a single character means that backspace will always go back one indent level no matter what smarts your IDE is trying to force upon you. It seems that every IDE handles auto-indenting/unindenting differently, and so by natively sticking to a 1:1 ratio, you wont get frustrated when your IDE falls over in confusion over whether you want to go back one space or one indent.<br><br>2. Opening brace always on new line and indented to the same level as the above control statement. I think having symmetrical opening/closing braces helps to visualize context a bit better when you're constantly scrolling code from either direction and avoids redundancy and confusion when conditional compilation creates alternative control statements that would otherwise each have their own opening brace. It also helps to match up opening and closing braces because you know they share the same horizontal offset, and because inevitably at some point I end up viewing code in a simple text editor, having done this can help a lot..<br><br></div>Of course it remains a matter or preference. Consistency of style is more important methinks..<br></div><br><div><div><br></div></div></div><div class="gmail_extra"><br><div class="gmail_quote">On Wed, Sep 21, 2016 at 10:47 PM, Richard Jones <span dir="ltr"><<a href="mailto:richard.jones.1952@gmail.com" target="_blank">richard.jones.1952@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><div>The topic of 'C' coding style came up today. At the risk of sounding like a troll I thought I would ask if people have a favourite 'C' style guide?<br><br></div><div>Some may ask why have a style guide? My answer would be to make the code easier and quicker to understand, and less prone to the introduction of errors during maintenance by others or even the original author.<br><br></div><div>I had a quick look around a few style guides for 'C' and liked Linus on the kernel coding style. The document is reasonably brief for a complex topic, educational and believe it or not amusing in parts. However it is definitely not for a beginner.<br><br><a href="https://www.kernel.org/doc/Documentation/CodingStyle" target="_blank">https://www.kernel.org/doc/<wbr>Documentation/CodingStyle</a><br></div><div><br></div><div>This one is really brief:<br><br><a href="https://www.arduino.cc/en/Reference/StyleGuide" target="_blank">https://www.arduino.cc/en/<wbr>Reference/StyleGuide</a><br></div><div><br></div>Offers anyone?<br></div>
<br>______________________________<wbr>_________________<br>
Chchrobotics mailing list <a href="mailto:Chchrobotics@lists.linuxnut.co.nz">Chchrobotics@lists.linuxnut.<wbr>co.nz</a><br>
<a href="http://lists.ourshack.com/mailman/listinfo/chchrobotics" rel="noreferrer" target="_blank">http://lists.ourshack.com/<wbr>mailman/listinfo/chchrobotics</a><br>
Mail Archives: <a href="http://lists.ourshack.com/pipermail/chchrobotics/" rel="noreferrer" target="_blank">http://lists.ourshack.com/<wbr>pipermail/chchrobotics/</a><br>
Meetings usually 3rd Monday each month. See <a href="http://kiwibots.org" rel="noreferrer" target="_blank">http://kiwibots.org</a> for venue, directions and dates.<br>
When replying, please edit your Subject line to reflect new subjects.<br></blockquote></div><br></div>