课程大纲
QA/CI
- 什么是QA?
- 什么是CI?
- 软件开发、重构和修复错误的成本
- 识别和理解项目
- 为组织带来的收益
DDD
- 基于业务需求的软件开发,DDD假设
- IT与业务沟通中的问题
- 领域模型
最佳实践
- KISS原则和DRY原则
- 编码标准
- 通过OOP和设计模式创建可重用代码
- 识别并降低圈复杂度
软件度量
- 类的权重方法
- 类的响应
- 继承树深度
- 对象间耦合
- 方法缺乏内聚性
- 子类数量
- 圈复杂度
- 类度量
- 模型度量
- 使用度量
软件测试
- 测试什么、何时测试以及如何测试?
- “白盒”和“黑盒”方法
- 测试在敏捷方法中的作用
- TDD仅可能增加项目成本
- 使用JUnit(Java)、PHPUnit(PHP)进行单元测试
- 使用JBehave(Java)、Behat和Mink(PHP)进行行为测试
- 功能测试
重构
- 什么是重构?
- 技术债务
- 代码异味
- 重构模式
文档
- 文档在敏捷方法中的作用
- 需要记录什么?
- 文档类型
- 文档与敏捷方法,或称为(可工作的软件胜过全面的文档)?
- 标准XMI
- 从Javadoc(Java)、ApiGen(PHP)自动生成文档
CI工具与环境
- CI工具与环境
- PMD(Java)、phpmd(PHP)
- CPD(Java)、phpcpd(PHP)
- 代码行计数器(Java)、phploc(PHP)
- UCDetector(Java)、phpdcd(PHP)
- Jdepend(Java)、phpdepend(PHP)
- Jenkins持续集成服务器
敏捷与CI/QA
- 计划与增量开发
- 拥抱变化
- 短周期
- 跨职能团队
- 极限编程,代码审查
- 个体和互动胜过流程和工具
总结
- 讨论
- 问题
- 如何开始实施过程?
要求
软件开发过程知识
客户评论 (5)
引人入胜,实践操作。
Balavignesh Elumalai - Scottish Power
课程 - SonarQube for DevOps
机器翻译
培训师有深入的经验,并在行动上很好地叙述。知识的深度和对教学的热情受到高度评价。
Anup Kumar - SMR Automotive Mirrors Stuttgart
课程 - Jenkins 2: Building CI/CD Pipelines
机器翻译
The trainer was very well organized. He explained about all the tools required for the training in the beginning. The trainer happily clarified all the doubts and practical use cases were discussed.
Vivek Verma - Global Knowledge Network Training Ltd
课程 - DevOps Practical Implementation and Tools
Very detailed, trainer knows the subject very well and has covered a lot of topics
Gabriel Kelly Navarro - Opswerks
课程 - Advanced Spinnaker
Luke was very knowledgeable, patient, and very open to satisfy my curiosity, for example I asked him to generate errors to see how system will response, etc. He would go above and beyond to answer questions or demonstrate the functionalities, even some of my questions were out of the class scope. He gave me a real experience with the system. I definitely will take another class with him and recommend him as a teacher for others. Thank you Luke!.