prg_style.txt

This file briefly describes the style I employ in writing my source files, and designing my programs.

Editing:
* Tab length is always four (4), and never-ever eight (8) or anything else
* Tabs never-ever inserted as spaces
* I use a variation of the Allman indentation style (matching brackets are at same level, vertically)
* curly braces missing where they're not needed, except for when they improve readability
* I comment as little as possible, but as much as needed
* functions always have ABOUT: comment, briefly describing what they do
* all header files must be included directly where they're needed, and not indirectly via other headers (with exception for compiler's inner workings of course)

Design (these may change from project to project):
* robustness, security, performance and efficiency must all be maximized
* robustness >= security > performance >= efficiency
* the source code must be easy to understand by a developer, and the program must be easy to use by a user
* both the source code and program should be as self-sufficient as possible

Personal definitions (these may change from project to project):
* robustness: the ability to fail gracefully and cleanly, with a meaningful error message
 ("real" robustness is different from this as it involves attempting to recover from errors, and continued operation under abnormal conditions)
* security: having no code quality -induced flaws, which can be used for malicious purposes
* performance: completing the task as quickly as possible
* efficiency: completing the task while consuming as few resources as possible
* self-sufficiency: not being dependent on third-party, non-standard components
 (e.g. other programs, and libraries that basic users don't usually have installed -- or even need to have them installed, other than for compiling/running strictly your program)

-RF
