课程背景
编程匠艺对每一位软件设计人员都应该掌握的核心技能和技术进行了深入的探讨,总结出了大量的最佳实践,提供了一整套最精炼的技术集合,通过接近于“近身肉搏”的方式“手把手”传递,可以帮助开发者在开发中变 得游刃有余,极大地提高开发效率和软件质量。该模块可以帮助团队成员掌握以下关键实践:
l 完整的软件开发流程
l 用户需求的捕获和分解方法
l 用例驱动开发技术(UDD)
l UML的使用
l 测试驱动开发技术(TDD)
l 掌握CleanCode的核心原则与实现方法
l 掌握结对编程、单元测试、重构与设计模式的良性闭环
l 面向对象的核心设计思维
课程大纲
编程知识体系图
编程之道
法:原则
l Single Responsibility 原则
l Open Closed 原则
l Liskov Substitution 原则
l Interface Segregation 原则
l Dependency Inversion 原则
l DRY 原则
l GRASP 原则
l KISS 原则
l …
术:模式、方法
l 架构模式
l 设计模式
l 实现模式
l 领域驱动设计
l 用例驱动开发
l 测试驱动开发
l 行为驱动开发
l …
器:实践、工具
l Pair Programming、Unit Test、Refactor...
l Java、C#、Ruby、Python、JavaScript...
l UML
l XUnit、Mock、Git、Maven、Jenkins...
CodeKata:编程匠艺实战操演
如何保证代码的质量
l 技能、价值观、习惯
l 红色、绿色、蓝色
从红色到绿色
l 红色的哲学
l 活的文档
l 可运行的用户故事
l 怎么固定需求
l Task-driven development
l 文档 & 测试
l Given When then
l CodeKata:伪实现
l CodeKata:显明实现
l CodeKata:三角法
l TDD、UDD & BDD...
l 炀景驱动开发
l 设计的结果:角色、职责、协作
从绿色到蓝色
l 蓝色的哲学
l 腐烂的代码
l 识别坏昧道
l 实战工具:代码检查工具
l 实战工具:重构
l 什么才是重构?
l CleanCode
l 糟糕的设计
l 实战工具:重构到模式
l 设计模式
l 设计的手法:抽象、封装、多态
l 设计的原本
从蓝色到下一个红色
l 小步快跑、快速迭代
l 实战工具:持续构建环境
l 后悔药 & 安全胶囊
l 实战工具:演进式架构
l TDD
l Pair Programming
l Refactor
l CleanCode
l 开发部由闭环
知识体系雷达
l 技术
l 平台
l 工具
l 语言和框架
l 技术雷达风向标