《軟件開發(fā)優(yōu)質(zhì)代碼實戰(zhàn)—C語言版》課程詳情
點擊下載課大綱及報名表
學(xué)習(xí)對象
使用C語言的軟件架構(gòu)師、軟件設(shè)計師、程序員、測試人員,以及有C語言基礎(chǔ)的項目經(jīng)理
課程結(jié)構(gòu)和大綱
一、引子
主題一:代碼變爛的原因和代價
1、代碼腐化的4個原因
2、技術(shù)債務(wù)
3、被技術(shù)債務(wù)拖垮的巨頭公司
主題二:重新認(rèn)識代碼質(zhì)量管理
1、重新認(rèn)知軟件成本
2、重新認(rèn)知軟件質(zhì)量
3、代碼腐化的根本原因—“代碼內(nèi)部質(zhì)量”管理缺失管理
(1)優(yōu)先改變“人”
(2)其次使用“流程和工具”
二、提升開發(fā)人員的技能
主題三:改變開發(fā)人員的思想
1、從中興的案例說起
2、來自美國程序員的反例
3、重建代碼價值觀
4、童子軍軍規(guī)―讓營地比你來時更干凈
主題四:框架設(shè)計能力—模塊化程序設(shè)計
1、 什么是模塊?
2、 什么是好模塊?
3、 模塊接口設(shè)計
4、 “C語言”模塊怎么組包
5、模塊第1大殺手—全局變量
6、模塊第2大殺手—循環(huán)依賴
主題五:腐化代碼的感知能力—嗅出代碼的壞味道
1、重復(fù)的代碼
2、含糊不清的命名
3、過長的函數(shù)
4、過長的參數(shù)列表
5、過度復(fù)雜的條件邏輯
6、散彈式修改
7、發(fā)散式變化
8、過多的注釋
9、夸夸其談未來性
主題六:納米級架構(gòu)設(shè)計能力—函數(shù)封裝
1、創(chuàng)建函數(shù)的理由
2、高質(zhì)量函數(shù)的三原則
3、多創(chuàng)建助手函數(shù)
主題七:語句編寫能力—函數(shù)內(nèi)部優(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、內(nèi)存陷阱與規(guī)避辦法
主題九:可讀性代碼編寫能力—提高代碼可讀性
1、排版
2、命名—自注釋
3、精煉的注釋
三、自動化質(zhì)量檢測工具與
軟件質(zhì)量保證活動
主題十:自動化質(zhì)量檢測工具
1、代碼內(nèi)部質(zhì)量評判工具―SourceMonitor
2、靜態(tài)語法檢測工具―PC-Lint
3、持續(xù)集成工具―自動化檢測與測試
(1)CrusieControl
(2)Sonar
主題十一:軟件質(zhì)量保證活動
1、質(zhì)量保證的基礎(chǔ):“持續(xù)集成”構(gòu)建成功
2、代碼走查
3、結(jié)對編程
4、自動化測試
5、測試用例評審
《軟件開發(fā)優(yōu)質(zhì)代碼實戰(zhàn)—C語言版》課程目的
l 讓程序員獲得主動優(yōu)化代碼的內(nèi)心動力,并學(xué)會開發(fā)優(yōu)質(zhì)代碼的各種能力。
l 讓軟件架構(gòu)師、設(shè)計人員具備模塊化程序設(shè)計能力。
l 讓測試人員了解先進的自動化測試工具,降低大量回歸測試的人力和時間成本。
l 讓項目經(jīng)理了解“敏捷開發(fā)”中推崇的質(zhì)量保證實踐活動。
《軟件開發(fā)優(yōu)質(zhì)代碼實戰(zhàn)—C語言版》所屬分類
研發(fā)項目
《軟件開發(fā)優(yōu)質(zhì)代碼實戰(zhàn)—C語言版》所屬專題
軟件開發(fā)、
《軟件開發(fā)優(yōu)質(zhì)代碼實戰(zhàn)—C語言版》授課培訓(xùn)師簡介
張老師
【資歷簡介】具有多年嵌入式軟件開發(fā)、設(shè)計和管理經(jīng)驗,曾在華為和科陸公司擔(dān)任高級軟件工程師、系統(tǒng)工程師、敏捷教練、CMMI設(shè)計組組長等職務(wù)。主要擅長敏捷實踐在各領(lǐng)域的應(yīng)用,包括代碼持續(xù)優(yōu)化與重構(gòu)、嵌入式C語言架構(gòu)設(shè)計與自動化測試、C#軟件架構(gòu)設(shè)計與自動化測試。精通面向?qū)ο笤O(shè)計技術(shù)以及設(shè)計模式運用。同時在項目管理尤其是敏捷軟件管理方面具有豐富的經(jīng)驗。