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