通常風格指南寫法都會是”程式語言名+Style Guide“或是”Programming Style for 程式語言名“,不同的組織、甚至是個人也都會不同的風格。例如說:
- NASA C Style Guide
- Google C++ Style Guide
- Google Java Style
- JavaScript Style Guide and Coding Conventions
- MongoDB Style Guide
- Apache VCL's Perl Code Style Guidelines
- PHP Code Style Guide from MIT Sloan School of Management
- Google's R Style Guide
- raywenderlich.com's Swift Style Guide
- Shell Style Guide
- Google Vimscript Style Guide
- Emacs Lisp Style Guide
- Linux Kernel Coding Style
如同寫作指引有本精簡的指南,程式風格指南也有一本由Brian Kernighan和PJ Plauger寫指南叫做《The Element of Programming Style》,下面是其中56項建議,有空再來翻譯
- Write clearly– don’t be too clever.
- Say what you mean, simply and directly.
- Use library functions whenever feasible.
- Avoid too many temporary variables.
- Write clearly – don’t sacrifice clarity for “efficiency.”
- Let the machine do the dirty work.
- Replace repetitive expressions by calls to common functions.
- Parenthesize to avoid ambiguity.
- Choose variable names that won’t be confused.
- Avoid unnecessary branches.
- If a logical expression is hard to understand, try transforming it.
- Choose a data representation that makes the program simple.
- Write first in easy-to-understand pseudo language; then translate into whatever language you have to use.
- Modularize. Use procedures and functions.
- Avoid gotos completely if you can keep the program readable.
- Don’t patch bad code – rewrite it.
- Write and test a big program in small pieces.
- Use recursive procedures for recursively-defined data structures.
- Test input for plausibility and validity.
- Make sure input doesn’t violate the limits of the program.
- Terminate input by end-of-file marker, not by count.
- Identify bad input; recover if possible.
- Make input easy to prepare and output self-explanatory.
- Use uniform input formats.
- Make input easy to proofread.
- Use self-identifying input. Allow defaults. Echo both on output.
- Make sure all variable are initialized before use.
- Don’t stop at one bug.
- Use debugging compilers.
- Watch out for off-by-one errors.
- Take care to branch the right way on equality.
- Be careful if a loop exits to the same place from the middle and the bottom.
- Make sure your code does “nothing” gracefully.
- Test programs at their boundary values.
- Check some answers by hand.
- 10.0 times 0.1 is hardly ever 1.0.
- 7/8 is zero while 7.0/8.0 is not zero.
- Don’t compare floating point numbers solely for equality.
- Make it right before you make it faster.
- Make it fail-safe before you make it faster.
- Make it clear before you make it faster.
- Don’t sacrifice clarity for small gains in “efficiency.”
- Let your compiler do the simple optimizations.
- Don’t strain to re-use code; reorganize instead.
- Make sure special cases are truly special.
- Keep it simple to make it faster.
- Don’t diddle code to make it faster — find a better algorithm.
- Instrument your programs. Measure before making “efficiency” changes.
- Make sure comments and code agree.
- Don’t just echo the code with comments — make every comment count.
- Don’t comment bad code — rewrite it.
- Use variable names that mean something.
- Use statement labels that mean something.
- Format a program to help the reader understand it.
- Document your data layouts.
- Don’t over-comment.
_EOF_
沒有留言:
張貼留言