2019-07-23 程序员的职业素养 代码整洁之道
不能铭记过去的人,注定要重蹈覆辙
每个专业软件开发人员必须精通的事项
设计模式。能描述GOF中24种,有POSA多数模式的实战经验
Pattern-Oriented Software Architecture
设计原则。了解SOLID原则,深刻理解组件设计原则
敏捷软件开发:原则、模式与实践
Agile Software Development: Principles, Patterns, and Practices
方法。必须理解XP、Scrum、精益、看板、瀑布、结构化分析及结构化设计等
实践。必须掌握测试驱动开发、面向对象设计、结构化编程、持续集成和结对编程
工件。必须了解如何使用UML图、DFD图、结构图、Petri网络图、状态迁移图标、流程图和决策表。
说不
能就能,不能就不能,不要说试试看
只有敢于说不,才能真正地做成一些事情
有可能写出好代码吗===有可能坚守专业主义精神嘛
是的 但你要学会如何说不
承诺用语
口头上说,心里认真,付诸行动
要熟练掌握每项技艺,关键都是要具备 信心 和出错感知
疲劳的时候,千万不要写代码 (疲劳驾驶)
结对编程-避免进入flow
礼貌地表现出乐于助人的态度才是专业的态度
进度延迟 早期检测/保持透明 乐观预估、标称预估、悲观预估
定义完成的标准来避免交付失误
XP 极限编程
TDD的三项法则
1.在编好失败单元测试之前,不要编写任何产品代码
2.只要有一个单元测试失败了,就不要再写测试代码;无法通过编译也是一种失败
3.产品代码恰好能够让当前失败的单元测试成功通过即可,不要多写
事后写的测试只有一种防守,而先行编写的测试则是进攻
现在我们有了更好的工具,更好的语言。但语句的本质并没有随时间而改变
http://katas.softwarecraftsmanship.org/
http://codekata.pragprog.com/
自动化验收测试工具 FitNesse、Cucumber、cuke4duke、robot framework、Selenium
业务分析员测试 正确路径; QA测试 错误路径
scenario 场景 fixture 辅助设备
验收测试和单元测试
验收测试是业务方写给业务方的,正式的需求文档。
单元测试是程序员写给程序员,正式的设计文档,描述底层结构/代码行为
避免压力:在压力之下保持冷静的最好方式,就是规避会导致压力的处境。