操作系统提供了,就不要自己写,如果有更好的API就选择更好的API。
使用合理的数据结构,就像你考虑使用数组和链表时的那样。
尽可能的使用数学的方法去完成工作,这个我想看过几篇文档的人都知道。
尽可能的使用模块化,不要以为这个只是OOP的专利哦。
合理的使用空间来换取时间。
不要钻牛角尖,也不要依赖心理,优化需要先考虑整体,在考虑局部,最后考虑编译器。
所有的结论都通过数据来证明,不要自以为是。
让你的程序看起来和别人的差不多(风格问题)。
程序员是勤快的,懒的只是他的工作,多让电脑干重复的活,你所要作的是让它更好的工作。
对于变量:能不全局就不要用全局的,能不静态就不要用静态的,能不新声明就不要新声明。
对于值参数:考虑类型,考虑边界,考虑初始值,考虑内存分布。
对于指针参数:考虑类型,考虑空,考虑输入输出,考虑是否会被修改,考虑与值类型的区别,考虑是否可以用引用或是句柄代替。
对于函数:考虑参数个数,考虑返回值,考虑调用那些库函数和API,考虑作用范围,考虑是否递归,考虑命名,考虑错误处理,考虑被调用的次数,考虑效率,考虑并发的可能,考虑资源的分配与释放。
对于类:考虑设计模式,考虑通用性,考虑成员函数接口最小化,考虑资源的分配与释放,考虑被继承的可能性,考虑多实例,考虑扩展的可能,考虑并发的可能,考虑抽象的意义,考虑独立性。
对于模块:考虑维护性,考虑复用性,考虑多进程共享,考虑是否动态载入,考虑平台移植。 |