課程簡介
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!.