程序员的职业素养 读书笔记 - 第1章 专业主义
担当责任
“专业主义”就意味着担当责任,不但象征着荣誉与骄傲,而且明确意味着责任与义务。
不行损害之事
1、不要破坏软件功能
1)让QA找不出任何问题,发布软件时,你应该确保QA找不出任何问题。
2)要确信代码正常运行,要求进行百分百测试覆盖,可以使用测试驱动开发(TDD)。
3)自动化QA,自动化测试至少要能够让你知道,你的系统很有可能通过QA的测试。
2、不要破坏结构
如果你希望自己的软件灵活可变,那就应该时常修改它。
职业道德
应该计划每周工作60小时。前40小时是给雇主的,后20小时是给自己的。在这剩余的20小时里,应该看书、练习、学习,或者做其他能提升职业能力的事情。
1、了解你的领域
每个专业软件开发人员必须精通的事项
设计模式。必须能描述GOF书中的全部24种模式,同时还要有POSA书中的多数模式的实战经验。
设计原则。必须了解SOLID原则,而且要深刻理解组件设计原则。
方法。必须理解XP、Scrum、精益、看板、瀑布、结构化分析及结构化设计等。
实践。必须掌握测试驱动开发、面向对象设计、结构化编程、持续集成和结对编程。
工件。必须了解如何使用UML图、DFD图、结构图、Petri网络图、状态迁移图表、流程图和决策表。
2、坚持学习
3、练习
4、合作
学习的第二个最佳方法是与他人合作。但并不是花全部时间一直和别人共事。
5、辅导
教学相长。想迅速牢固地掌握某些事实和观念,最好的方法就是与由你负责的人交流这些内容。
6、了解业务领域
7、与雇主/客户保持一致
8、谦逊