1 鲁棒 Solid and Robust Code
在考虑写一段有用的代码时,必须考虑代码的鲁棒性。所谓代码的鲁棒性也就指代码的健壮性。所以,我们在写一个函数时,必须考虑从外部传递进来的参数的有效性。此外,合格的商业软件也必须考虑各种可能出现的异常。虽然我们在写代码的时候不能把所有的情况都考虑到,但是在发生异常的时候,代码必须对此情况有所反应和处理。类似IE出错时弹出一个出错报告也是代码鲁棒性的一个体现。
2 简洁 Maintainable and Simple Code
代码的简洁一方面可以使代码提高可读性,记住:代码首先是写出来给人读的(文本文件),其次才是给机器读的(二进制机器码)。另外一方面,简洁的代码使得调试和维护更加容易。
3 高效 Fast Code
追求代码的执行效率是每个程序员的梦想。喜欢写一些不需要动脑的代码是懒惰程序员的爱好。我想每个有上进心的程序员都不会这么做的。采用好的算法和好的数据结构是提高代码执行效率的根本之道。其他一些技法,如采用内联函数,传递引用参数等应该考虑在合适的情况下使用。
4 简短 Small Code
常常有一些自我感觉非常好的程序员喜欢用代码量来显示自己的编程水平。有些人号称自己一个月写XX万行代码,以此来炫耀自己。其实真正的高水平的程序员是那些每时每刻都在学出“有用”代码的人。把有些人写的代码拿来一看,1000行的代码可以用100行就可以实现相应的功能,也就是有900行的代码都是多余的。回首过去的几年,常常为自己写了那么多的“垃圾”代码而惭愧。记住:代码越长,出错的机会也越多。
5 共享 Reusable Code
最近从网上看到一则调查,大多数的人都愿意将自己的代码与他人共享。看来源代码共享运动已经得到了大多数的认同。现在一大批具有世界级水平的代码库已经得到了广大程序员的使用,如LoKi、ACE等。C++的一个重要功能也就是促进代码的复用。如果我们喜欢其他人来享受我们的劳动成果,必须确保自己的代码具有可复用性,这也是体味自由、享受认同的重要途径。
6 可测试 Testable Code
代码的可测试性非常重要。如果写出的代码过分依赖其他代码导致无法进行单元测试,那么在进行最后的集成测试前就无法确保每个模块的代码都是可运行的。如果在集成测试时出现错误,将增加最后的调试成本和调试难度。一个好的编程习惯就是在写完一段代码后按下F7(编译),如果一切OK,再继续写下面一段代码。
7 可移植 Portable Code
我一直鼓励和建议学习C++的同好使用标准C++程序库来进行软件开发。一个重要的理由就是可移植性。MFC程序库是不具有可移植性的,至少目前还不行。如果我们使用一个好的C++程序库,如SGI、STLport等将在一定程度上提高我们程序的可移植性
在考虑写一段有用的代码时,必须考虑代码的鲁棒性。所谓代码的鲁棒性也就指代码的健壮性。所以,我们在写一个函数时,必须考虑从外部传递进来的参数的有效性。此外,合格的商业软件也必须考虑各种可能出现的异常。虽然我们在写代码的时候不能把所有的情况都考虑到,但是在发生异常的时候,代码必须对此情况有所反应和处理。类似IE出错时弹出一个出错报告也是代码鲁棒性的一个体现。
2 简洁 Maintainable and Simple Code
代码的简洁一方面可以使代码提高可读性,记住:代码首先是写出来给人读的(文本文件),其次才是给机器读的(二进制机器码)。另外一方面,简洁的代码使得调试和维护更加容易。
3 高效 Fast Code
追求代码的执行效率是每个程序员的梦想。喜欢写一些不需要动脑的代码是懒惰程序员的爱好。我想每个有上进心的程序员都不会这么做的。采用好的算法和好的数据结构是提高代码执行效率的根本之道。其他一些技法,如采用内联函数,传递引用参数等应该考虑在合适的情况下使用。
4 简短 Small Code
常常有一些自我感觉非常好的程序员喜欢用代码量来显示自己的编程水平。有些人号称自己一个月写XX万行代码,以此来炫耀自己。其实真正的高水平的程序员是那些每时每刻都在学出“有用”代码的人。把有些人写的代码拿来一看,1000行的代码可以用100行就可以实现相应的功能,也就是有900行的代码都是多余的。回首过去的几年,常常为自己写了那么多的“垃圾”代码而惭愧。记住:代码越长,出错的机会也越多。
5 共享 Reusable Code
最近从网上看到一则调查,大多数的人都愿意将自己的代码与他人共享。看来源代码共享运动已经得到了大多数的认同。现在一大批具有世界级水平的代码库已经得到了广大程序员的使用,如LoKi、ACE等。C++的一个重要功能也就是促进代码的复用。如果我们喜欢其他人来享受我们的劳动成果,必须确保自己的代码具有可复用性,这也是体味自由、享受认同的重要途径。
6 可测试 Testable Code
代码的可测试性非常重要。如果写出的代码过分依赖其他代码导致无法进行单元测试,那么在进行最后的集成测试前就无法确保每个模块的代码都是可运行的。如果在集成测试时出现错误,将增加最后的调试成本和调试难度。一个好的编程习惯就是在写完一段代码后按下F7(编译),如果一切OK,再继续写下面一段代码。
7 可移植 Portable Code
我一直鼓励和建议学习C++的同好使用标准C++程序库来进行软件开发。一个重要的理由就是可移植性。MFC程序库是不具有可移植性的,至少目前还不行。如果我们使用一个好的C++程序库,如SGI、STLport等将在一定程度上提高我们程序的可移植性