聪明和谦虚
精通编程的人是那些了解自己头脑有多大局限的人,都很谦虚。
运用好的编程方法来减轻脑力负担:
- 将系统分解;
- 进行复查(评审)、详查和测试正是为了减少人为失误;
- 将子程序编写得短小;
- 通过各种各样的规范,将思路从相对繁琐的编程事物中解放出来;
求知欲
技术环境的特定特征每5到10年就变化一番,如果没有足够的求知欲跟上这些变化,你就面临落伍的威胁;
假如不持续学习,你就会落伍;
如果在工作中学不到什么,就找一份新工作吧!
最好通过小程序找出答案,而不要用大程序。有效编程的关键之一就是要学会快速制造错误,并且每次都能从中有所收获。犯错不是罪过,从中学不到什么才是罪过。
学习编程的一个特别好的途径就是研究高手的饿程序。John Bentley 认为你应该坐下来,准备一杯白兰地,点上一根好的雪茄,像看优秀小说那样来阅读程序。
不管有没有关于编程案例研究的书,你都应该找些高手编的代码读读。
不仅要阅读别人的代码,还应渴望了解专家对你的代码的看法。
程序员普遍有文档恐惧症。尽管有这些问题,还是能从文档中受益匪浅。文档中有许多有用的东西,值得花时间去看。
现代语言产品一般带有大量函数库,很有必要投入时间去浏览其说明。
每两个月翻翻文档。
技术带头人会为人写代码,而非为机器。真正高手所写的代码,像水晶一样剔透,还带有文档。
诚实
力图理解编译器的警告,而非弃之不理。
透彻理解自己的程序,而不要只是编译看看能否运行。
测试只能找出错误,不能确保不存在错误。
坚持
但在某段新代码上卡壳时,坚持很难让人称道。当一种办法行不通时,正好可以换个方法试试。
通常最好只要有一段时间没有进展,比如说15分钟,就应该放弃排错过程,让潜意识仔细品品。想个其他方法将问题绕开;从头编写麻烦的代码段;理清思绪后再来做。
经验
如果你不能与时俱进,经验不但不会有所帮助,反而是个累赘。
习惯
初涉某事时,就应端正态度来学。
要养成先以伪代码编写类再改用实际代码,以及编译前认真检查代码的习惯。