課程描述INTRODUCTION
北京軟件開發培訓
日(ri)程(cheng)安排SCHEDULE
課(ke)程(cheng)大綱Syllabus
課程背景
本課程分析了代碼腐化的原因,并為代碼腐化開出藥方:優先改變代碼的實現者“人”,再輔以質量保證活動和自動化檢查工具。從改變“人”的思想和提升“人”的開發能力兩方面,傳授了眾多技巧。講解了幾種軟件質量“自動化檢查工具”的使用方法。推介了幾種“質量保證實踐活動”。
【課程收益】
讓程序員獲得主動優化代碼的內心動力,并學會開發優質代碼的各種能力。
讓軟件架構師、設計人員具備模塊化程序設計能力。
讓測試人員了解先進的自動化測試工具,降低大量回歸測試的人力和時間成本。
讓項(xiang)目經理了(le)解“敏捷開(kai)發”中推崇的(de)質量保證實(shi)踐活動。
【課程大綱】
一、引子
主題一:代碼變爛的原因和代價
1、代碼腐化的4個原因
2、技術債務
3、被技術債務拖垮的巨頭公司
主題二:重新認識代碼質量管理
1、重新認知軟件成本
2、重新認知軟件質量
3、代碼腐化的根本原因—“代碼內部質量”管理缺失管理
(1)優先改變“人”
(2)其次使用“流程和工具”
二、提升開發人員的技能
主題三:改變開發人員的思想
1、從中興的案例說起
2、來自*程序員的反例
3、重建代碼價值觀
4、童子軍軍規―讓營地比你來時更干凈
主題四:框架設計能力—模塊化程序設計
1、 什么是模塊?
2、 什么是好模塊?
3、 模塊接口設計
4、 “C語言”模塊怎么組包
5、模塊第1大殺手—全局變量
6、模塊第2大殺手—循環依賴
主題五:腐化代碼的感知能力—嗅出代碼的壞味道
1、重復的代碼
2、含糊不清的命名
3、過長的函數
4、過長的參數列表
5、過度復雜的條件邏輯
6、散彈式修改
7、發散式變化
8、過多的注釋
9、夸夸其談未來性
主題六:納米級架構設計能力—函數封裝
1、創建函數的理由
2、高質量函數的三原則
3、多創建助手函數
主題七:語句編寫能力—函數內部優化
1、馴服深層嵌套
2、消除魔鬼數字
3、優化循環
4、優化變量
5、簡化表達式
6、縮短參數列表
主題八:規避Bug的能力—規避C語言陷阱
1、頭文件陷阱與規避辦法
2、指針陷阱與規避辦法
3、宏定義陷阱與規避辦法
4、運算符陷阱與規避辦法
5、語句陷阱與規避辦法
6、內存陷阱與規避辦法
主題九:可讀性代碼編寫能力—提高代碼可讀性
1、排版
2、命名—自注釋
3、精煉的注釋
三、自動化質量檢測工具與
軟件質量保證活動
主題十:自動化質量檢測工具
1、代碼內部質量評判工具―SourceMonitor
2、靜態語法檢測工具―PC-Lint
3、持續集成工具―自動化檢測與測試
(1)CrusieControl
(2)Sonar
主題十一:軟件質量保證活動
1、質量保證的基礎:“持續集成”構建成功
2、代碼走查
3、結對編程
4、自動化測試
5、測試用例評審
【講師介紹】
張老師(shi)(shi),具有多年嵌入(ru)式(shi)軟件開發、設(she)計(ji)和管理經(jing)(jing)驗,曾在(zai)華為和科陸(lu)公司擔(dan)任(ren)高(gao)級軟件工程師(shi)(shi)、系統(tong)工程師(shi)(shi)、敏捷教練、CMMI設(she)計(ji)組組長(chang)等職務。主要擅長(chang)敏捷實(shi)踐(jian)在(zai)各領(ling)域(yu)的應用,包括代碼持續優化與重構、嵌入(ru)式(shi)C語言架(jia)構設(she)計(ji)與自動化測試、C#軟件架(jia)構設(she)計(ji)與自動化測試。精通面向對象設(she)計(ji)技術(shu)以及設(she)計(ji)模式(shi)運用。同(tong)時(shi)在(zai)項目管理尤其是敏捷軟件管理方(fang)面具有豐富的經(jing)(jing)驗。
轉載://citymember.cn/gkk_detail/11185.html
已開課時間Have start time
產品管理內訓
- 《從偶然到必然——IPD集 張現鋒
- 《滿足用戶需求打造爆款產品 喻國慶
- 研發企業IPD集成產品開發 徐驥
- 《成功的產品經理—產品全生 張現鋒
- 新時代銀行個貸業務管理 胡(hu)元未(wei)
- 《產品競爭分析及策略市場分 喻國(guo)慶
- 《需求管理與產品路標規劃管 張現鋒
- 《產品平臺與CBB貨架技術 張(zhang)現鋒
- 《精益上市,快速變革時代下 武(wu)建偉
- 《市場驅動的結構化產品開發 張現(xian)鋒
- 《產品賣點挖掘與呈現》 喻國慶
- 擔保產品設計及創新 胡元(yuan)未