<Unix编程艺术>
1.数据压倒一切。如果已经选择了正确的数据结构并且把一切都组织得井井有条,
1.数据压倒一切。如果已经选择了正确的数据结构并且把一切都组织得井井有条,
正确的算法也就不言自明。编程的核心是数据结构,而不是算法。
2.在设计中,应该主动将代码的复杂度转移到数据之中去。
3.优雅的代码不仅将算法传达给计算机,同时也把见解和信心传递给阅读代码的人。
4.不要让调试工具仅仅成为一种事后追加或者用过就束之高阁的东西。它们是通往
代码的窗口:不要只在墙上凿出粗糙的洞,要修整这些洞并装上窗。如果打算让代
码一直可被维护,就始终必须让光照进去。
5.如果希望让代码成为活代码,则最有效的时间花费方法之一就是投入精力使代码
具备可维护性(并以此吸引未来的维护者)。
6. 尽可能少干活,让数据塑造代码;依靠工具,把机制从策略中分离。专家级unix
程序员要学会迅速自动的看出这些可能性。建设性的懒惰是大师级程序员的基本
美德之一。
7.更一般地,阅读代码是为未来投资。可以从中学到甚多---新技术,分解问题的新
方法,不同的风格和手段。使用代码和学习代码都能得到有价值的回报。即使并不
使用所研究代码中的方法,学习他人解决方案中改良的问题定义,也许能够帮助自
己发现一个更好的方法。
写之前先读,培养阅读代码的习惯。很少有什么彻底全新的问题,所以几乎总是能
够发现非常接近的代码,成为自己需要的一个良好起点。即使当问题真正非常新颖
时,也很有可能与某人之前已经解决的问题相关,而解决方案也很可能是从某个已
经存在的方案发展而来。