- 第一章:专业主义
- 清楚需要什么
- 担当责任
- 不行损害之事
- 不要破坏软件功能
1、让QA找不出问题
2、确定代码正常运行
3、自动化QA - 不要破坏结构
1、不要破坏合理结构,合理结构让修改代码理轻松
2、大胆重构不合理结构,让结构变得合理。
- 不要破坏软件功能
- 职业道德
- 自我提升
1、坚持学习
2、反复练习
3、善于合作
4、辅导新人
5、保持谦逊
- 自我提升
- 个人总结:
- 主要说明专业精神,程序员要精通专业技能和领域技能。
- 工作时间保证只做工作相关的事,并保证工作结果正常可靠。
- 要非工作时间要保持不断学习,反复练习,提高自身专业技能。
- 专业技能
- 设计模式,24种设计模式必须精通
- 设计原则,SOLID必须了解
- 开发应运,Xp,Scrum,瀑布,结构分分析及设计
- 实践,必须掌握TDD,OOD,结构化编程,持续集成,结对编程
- 工件,必须掌握UML图,DFD图,结构图,Petri图,状态迁移图,流程图和决策表。
- 第二章:说“不"
- 奴隶没有权限说不,专业人士应该懂得说不。
- 对抗角色
- 需要拒绝情景
- 高风险时刻,项目切换、关系公司存亡,要求不合理时必须拒绝
- 以团队精神胁迫提出来合理要求
- 试试看,尝试做出来,果断拒绝。可以试试看意味没有尽力;事情有第一次必然有第二次
- 错误做法
- 无论什么要求都说是,多承诺必无信
- 消极对抗,承诺后不执行,拖延执行,软对抗。
- 第三章:说”是“
- 承诺用语
- 口头说,认真对待、付诸行动
- 承诺:是,可以,截止
- 非承诺:需要、应该、大概
- 坚守承诺
- 承诺用语
- 第四章:编码
- 准备工作
- 理解要做什么
- 遵循代码规范
- 心情焦虑不能专心时不写代码
- 加班不写代码
- 高效时间
- 音乐,因人而宜
- 中断,礼貌拒绝
- 阻塞时处理
- 适时休息
- 切换其他工作
- 保持节奏
- 工作时间未能解决问题,加班也解决不了。
- 30分钟无进展,及时求助
- 进度延迟
- 调整期望
- 忌盲目冲刺
- 加班加点,要有方案B
- 帮助
- 帮助他人
- 接受帮助
- 准备工作
- 第五章:测试驱动开发
- TDD确实可行
- TDD三法则
- 编写好单元测试前,不编写任何产品代码
- 只要有一个单元测试失败,不要再继续测试,解决当前问题
- 产品代码恰好能使单元测试通过、不要多写。
- TDD优势
- 确定性
- 缺陷率
- 修改代码、重构底气十足
- 测试即是最好底层文档
- 第六章:练习
- 编程技能
- 开源项目
- 第七章:验证测试
- 需求沟通
- 不要过早细化
- 预估焦虑
- 验收测试
- 完成定义
- 沟通
- 自动化测试
- 持续集成
- 需求沟通
- 第八章:测试策略
- 测试金字塔:从低到高,单元测试,组件测试,集成测试,系统测试,人工探索式测试
- 第九章:时间管理
- 会议
- 会议是必须的
- 会议浪费大量时间
- 拒绝,拒绝不合理会议
- 离席,礼貌离席
- 会议方式
- 站立会议
- 昨天做了什么
- 今天做什么
- 遇到什么问题
- 确定会议目标及议程
- 站立会议
- 充足睡眠
- 跨入泥潭及时回头
- 会议
- 第十章:预估
- 预估非承诺
- PERT计算法 (O+4N+P)/6
- 亮手指估计
- 第十一章:压力
- 避免压力
- 承诺带来压力
- 保持代码整洁
- 应对压力
- 不要惊慌
- 沟通
- 危机中纪律
- 寻求帮助
- 避免压力
- 第十二章:协作
- 程序员与人
- 第十三章:团队
- 因人组合团队不要因项目组合团队