I don't know why but somehow the tab- and the #define-thingy didn't caught my attention, for whatever reason - of course, I agree. Tabs are in a line a bad idea. Though, I still think that tabs are useful for indentation in if/else blocks, functions, and so on. It is just easier to use. On work, we have a coding policy which also requires whitespace as tabs. Since we use Eclipse as preferred IDE, you can still jump from indendation to indendation with just pressing a key, although they contain whitespace. For Lite-C, I use a pretty simple texteditor which doesn't support this (Programmer's Notepad; before that I used ConTEXT - but I found out that Notepad++ is neat, too). So in these cases, tabs make sense, because they are faster and easier to maintain than whitespace-tabs.

By the way, the slides of "How to Design a Good API and Why it Matters" of Joshua Bloch are to be found here: http://lcsd05.cs.tamu.edu/slides/keynote.pdf, thanks for the hint! There is also a short summary of all important points of the talk to be found here: http://www.infoq.com/articles/API-Design-Joshua-Bloch. --- But I guess it might be too abstract for most people - give them a coding guideline and they will read it; but give them a tech talk about API design, they certainly get questionsmarks raised above their heads. But you are absolutely right, the talk is great and the hints are very nice. Personally, I think the remark that "Code should read like prose" is the strongest one, it rings my bell.

Last edited by HeelX; 05/24/13 19:35.