一、专业精神

Robert C. Martin系列面向软件开发人员,团队领导者,业务分析师和管理人员,他们希望将技能和熟练程度提高到Master Craftsman的水平 该系列图书对从业人员在多方面上给予了专业指导,比如编程原则、模式和实践,软件项目管理,需求收集,设计,分析,测试等。

想成为一名专业的软件开发人员吗;想趾高气昂大声说:“我是一个专业人士!”;让人们尊重你,善待你;妈妈们想让他们的孩子成为你一样的人。你想,对吧?

专业精神不仅仅是一种骄傲和荣誉勋章,还是一份责任和担当,这是相辅相成的。

专业精神就是要承担责任!

  1. 清楚自己要成为什么样的人
  2. 担当责任,不仅仅考虑自己的声誉,还要考虑组织和老板
  3. 首先,不行损害之事
    • 3.1不要破坏功能。少制造bug;要对错误负责;避免重犯
    • 尽量让QA找不到问题
      • 明知有问题就不要提交给QA
        • 损害公司和软件产品利益
        • 让企业对开发团队丧失信心
    • 测试它并能起作用
      • 单元测试,全部测试
      • TDD
    • 自动化QA
      • 提升效率 - 3.2 不要破坏结构
    • 软件要便于修改。如果希望自己的软件灵活可变,那就应该常修改它
      • 每次签入代码,会比上一次更简洁;每次读代码,都别忘了点滴的改善
      • 让软件保持固定不变是危险的
      • 自动化测试保证100%覆盖,是修改代码的信息来源
        • 修改类名
        • 实现方式。switch 转 多态
  4. 职业道德

职业是自己的事情,雇主没有义务培训、提升你,如果这样做了说明对你不薄。每周60小时,20小时留给自己看书、练习、学习。

  • 了解你的领域
    • 每个专业人员必会的技能
      • 设计模式:GOF书中24个模式
      • 设计原则:SOLID
      • 方法:XP、Scrum、精益、看板、瀑布、结构化分析及结构化设计
      • 实践:必须掌握TDD、OOD、结构化编程、CI和结对编程
      • 工件:了解使用UML图、DFD图(数据流图)、结构图、Petri网络图、状态迁移图、流程图和决策表
  • 坚持学习
    • 飞速发展的行业,需要坚持广泛的学习,与时俱进
    • 如果是java程序员,那就学学nodejs吧
  • 练习:业精于勤。kata:有待解决的简单编程问题
  • 合作:与他人合作,互相借鉴学习
  • 辅导
    • 想要迅速牢固的掌握某些事实和观念,最好的方法就是与由你负责的人交流这些内容。传道授业同时,导师也会受益
    • 新人融入团队的方式:最好与他们坐到一起,向他们传授工作要诀、视辅导为己任,同时不放任新人乱打乱撞
  • 了解业务领域
    • 做哪块业务,要付出相当的努力来认识业务领域
    • 进入新领域时,应当读一两本该领域的专家
    • 最糟糕的做法,按照需求规格编写代码;我们应当能辨别、质疑规格说明书中的错误
  • 与雇主/客户保持一致
    • 我们应该关注雇主的问题,弄明白并寻求最佳的解决方案。以客户为中心
    • 应尽力避免开发人员(彼)与雇主(此)关系
  • 谦逊
    • 编程是种创造性的活动。写代码是无中生有、混沌中创建秩序,过程中失之毫厘谬以千里,因此编程也是自负的行为。
    • 专业人士知道自己自负,所以不会故作谦卑。因为对自己能力自信,并勇于承担有把握的风险,不是胆小鬼。

Comments