1.关心你的手艺2.想想你的工作3.在所有弱点中,最大的弱点是害怕暴露4.提供选择,没有蹩脚的借口5.不要容忍破窗6.变革的催化剂7.记住大方向8将质量作为需求问题9知识也会贬值,定期投资于你的知识每年至少学习一门编程语言每季度至少阅读一本技术书籍阅读非技术书籍上课并在线玩UNIX以跟上与趋势10批判性地分析你读到的和听到的11我相信被仔细审查比被忽视更好12你说什么和你怎么说一样重要13不要重复自己,也不要重复别人14不好代码需要大量注释15使重用变得容易16消除不相关事物之间的影响(解耦、正交性)17编码保持代码解耦避免使用全局数据避免编写类似的功能18如果一个想法是您独有的想法,没有什么比这19没有最终决定20以后永远不会21用示踪剂找到目标22语言的边界是一个人的世界的边界23解决问题编程24估计,避免事故25使用以纯文本形式保存知识26使用权力ofcommandshell27用好编辑器,彻底理解它,并确保你的编辑器可以在所有平台上使用(我最喜欢的是sublime)可配置、可扩展、可编辑的语法高亮自动完成、自动缩进、跨平台启动、快速内存消耗,漂亮28总是使用源代码控制29解决问题,不发布责任(关于调试,错误)30不要惊慌(我在上线前因为一个重大问题差点辞职31不要假设,证明32你可以不要编写完美的软件33如果它不可能发生,使用断言来确保它不会发生34对异常问题使用异常35有开始和结束36使模块耦合最小化37配置,不要集成(可配置)38将抽象放在代码中,将细节放在元数据中39分析工作流以提高并发性40使用服务进行设计41始终针对并发性进行设计42将视图与模型分开43谨防那些为您编写大量代码的工具,除非您了解它在做什么44Don不要偶然编程45估计你的算法的顺序46尽早重构,经常重构47为测试而设计48不要收集需求,挖掘它们49与用户一起工作,像用户一样思考50需求不是架构,需求不是设计,用户界面也不是,它们是需求。51抽象比细节更重要52使用项目词汇表(如果名称错误,这些词听起来就不对)53昂贵的工具不一定能做出更好的设计54早点测试,经常测试,自动测试55等到它通过测试一切,编码完成56收紧网络,只捕获一次错误57轻轻地超越用户期望58签署你的工作59建立你自己的图书馆
