課程描述INTRODUCTION
北京軟件開發(fā)培訓
· 項目經(jīng)理· 技術總監(jiān)· 軟件工程師
![](/Common/new/images/tb3_1.jpg)
![](/Common/new/images/tb3_2.jpg)
![](/Common/new/images/tb3_3.jpg)
日程安排SCHEDULE
課程大綱Syllabus
課程背景
本課程分析了代碼腐化的原因,并為代碼腐化開出藥方:優(yōu)先改變代碼的實現(xiàn)者“人”,再輔以質量保證活動和自動化檢查工具。從改變“人”的思想和提升“人”的開發(fā)能力兩方面,傳授了眾多技巧。講解了幾種軟件質量“自動化檢查工具”的使用方法。推介了幾種“質量保證實踐活動”。
【課程收益】
讓程序員獲得主動優(yōu)化代碼的內心動力,并學會開發(fā)優(yōu)質代碼的各種能力。
讓軟件架構師、設計人員具備模塊化程序設計能力。
讓測試人員了解先進的自動化測試工具,降低大量回歸測試的人力和時間成本。
讓項目經(jīng)理了解“敏捷開發(fā)”中推崇的質量保證實踐活動。
【課程大綱】
一、引子
主題一:代碼變爛的原因和代價
1、代碼腐化的4個原因
2、技術債務
3、被技術債務拖垮的巨頭公司
主題二:重新認識代碼質量管理
1、重新認知軟件成本
2、重新認知軟件質量
3、代碼腐化的根本原因—“代碼內部質量”管理缺失管理
(1)優(yōu)先改變“人”
(2)其次使用“流程和工具”
二、提升開發(fā)人員的技能
主題三:改變開發(fā)人員的思想
1、從中興的案例說起
2、來自*程序員的反例
3、重建代碼價值觀
4、童子軍軍規(guī)―讓營地比你來時更干凈
主題四:框架設計能力—模塊化程序設計
1、 什么是模塊?
2、 什么是好模塊?
3、 模塊接口設計
4、 “C語言”模塊怎么組包
5、模塊第1大殺手—全局變量
6、模塊第2大殺手—循環(huán)依賴
主題五:腐化代碼的感知能力—嗅出代碼的壞味道
1、重復的代碼
2、含糊不清的命名
3、過長的函數(shù)
4、過長的參數(shù)列表
5、過度復雜的條件邏輯
6、散彈式修改
7、發(fā)散式變化
8、過多的注釋
9、夸夸其談未來性
主題六:納米級架構設計能力—函數(shù)封裝
1、創(chuàng)建函數(shù)的理由
2、高質量函數(shù)的三原則
3、多創(chuàng)建助手函數(shù)
主題七:語句編寫能力—函數(shù)內部優(yōu)化
1、馴服深層嵌套
2、消除魔鬼數(shù)字
3、優(yōu)化循環(huán)
4、優(yōu)化變量
5、簡化表達式
6、縮短參數(shù)列表
主題八:規(guī)避Bug的能力—規(guī)避C語言陷阱
1、頭文件陷阱與規(guī)避辦法
2、指針陷阱與規(guī)避辦法
3、宏定義陷阱與規(guī)避辦法
4、運算符陷阱與規(guī)避辦法
5、語句陷阱與規(guī)避辦法
6、內存陷阱與規(guī)避辦法
主題九:可讀性代碼編寫能力—提高代碼可讀性
1、排版
2、命名—自注釋
3、精煉的注釋
三、自動化質量檢測工具與
軟件質量保證活動
主題十:自動化質量檢測工具
1、代碼內部質量評判工具―SourceMonitor
2、靜態(tài)語法檢測工具―PC-Lint
3、持續(xù)集成工具―自動化檢測與測試
(1)CrusieControl
(2)Sonar
主題十一:軟件質量保證活動
1、質量保證的基礎:“持續(xù)集成”構建成功
2、代碼走查
3、結對編程
4、自動化測試
5、測試用例評審
【講師介紹】
張老師,具有多年嵌入式軟件開發(fā)、設計和管理經(jīng)驗,曾在華為和科陸公司擔任高級軟件工程師、系統(tǒng)工程師、敏捷教練、CMMI設計組組長等職務。主要擅長敏捷實踐在各領域的應用,包括代碼持續(xù)優(yōu)化與重構、嵌入式C語言架構設計與自動化測試、C#軟件架構設計與自動化測試。精通面向對象設計技術以及設計模式運用。同時在項目管理尤其是敏捷軟件管理方面具有豐富的經(jīng)驗。
轉載:http://xvaqeci.cn/gkk_detail/11185.html