《程序员修炼之道》展示了许多编码的技巧;职业规划、生活与工作的态度、思维方式和方法论的建议
思维方式:
总要意识到自己在做什么,时刻审视自己,审视正在做的事,及时纠正问题,而不要让事情慢慢失去控制;
具有批判性思维;
抛开问题本身,理解问题的内在本质;
职业规划:
多才多艺,尽量熟悉广泛的技术和环境,对新的知识感到好奇,快速学习,并且快速掌握运用;
持续的积累和学习。
工作态度和方式:
直面自己的错误或缺点,为自己的所作所为负责,不要找蹩脚的借口;
不要说事情做不到,说明能够做什么,要提供各种选择;
不要容忍破窗户(错误或缺陷),保证代码质量;
多交流多沟通,知道你想说什么,了解你的听众而不是按着自己的想法来;
要持续不断地观察周围发生的事情,而不是局限你现在做的事情。
编码技能:
避免重复的发生,保证系统中的每一个功能或模块都必须具有单一、无歧义、权威的表示;
消除模块之间的相互影响和依赖关系,保持正交设计;
按照合约设计,确认约束和边界,弄清楚模块的职责,规定做什么而不是怎么做;
避免作出不可逆的决策,确保模块功能的可撤销性,项目的任何一个模块一个组件都是可撤销,可替换的;
不要试图在重构的同时增加功能;
用元数据是用来描述配置项,高度可配置;
测试你的代码,要通过全部测试,编码才算完成;
无处不在的自动化,机器能做的事情,人就不要做;