1. 应把正常情况的处理放在if后面,异常情况放在else后面,一方面是更符合人的思维逻辑,另一方面可减少if语句的比较,将概率更大的情况放在前面,switch语句也应依次做优化。
    2. 应尽量将长循环放在内层,短循环放在外层,以减少CPU跨切循环层的次数。
    3. 无限循环优先选用for (;;)而非while (1),因for语句会被编译成无条件的跳转(即无条件循环,不同判断条件),而while语句则至少有一个条件判断。
    4. 应将目的参数放在前面,源参数放在后面,例如char strcopy (char strDest, const char *strSrc)。
    5. 空返回值、空入参都应使用void进行限定,否则有的编译器中若未进行限定,则会把空入参编译为可任意入参。
    6. 不可修改的指针应加const进行限定保护,防止意外修改(能加就加,肯定没问题,反正不要钱)
    7. 软件开发最好先以最快的速度完成模块所需的基础功能,仅需要简单实现即可,在功能完成后再通过大量测试去暴露问题,在整体层面上去暴露问题,然后再不断的迭代、修改、完善,切记不可期望一次就能写出完美的代码(快速实现、然后反复的迭代开发和测试)。
    8. 沿着那条路下去,一定要快。如果有什么东西挡住了你的去路……绕开它!(快速迭代的思想,不要精益求精,先把路走完) — from 高效能程序员的修炼
    9. 你同时记住的东西越多,你编程的效率就越高(所以要保持专注) — from 高效能程序员的修炼