官术网_书友最值得收藏!

本書對(duì)軟件開發(fā)的其他方面所起的作用

本書里的所有條目都是針對(duì)故障的診斷與調(diào)試而寫的,不過其中有很多建議同樣可以用來縮減代碼中的bug數(shù)量,并且可以使你在遇到這樣的bug時(shí)能夠更為迅速地將其修復(fù)。嚴(yán)謹(jǐn)?shù)恼{(diào)試技術(shù)與優(yōu)秀的軟件開發(fā)方式之間能夠形成良性的循環(huán),因此,書中的建議對(duì)于你當(dāng)前或者將來要面對(duì)的軟件設(shè)計(jì)、軟件構(gòu)建以及軟件管理工作,是可以起到幫助作用的。

設(shè)計(jì)軟件的時(shí)候,應(yīng)該遵循下列建議:

?使用與其角色相稱的高級(jí)機(jī)制(參見第47條和第66條)。

?提供調(diào)試模式(參見第6條和第40條)。

?提供對(duì)系統(tǒng)操作進(jìn)行監(jiān)控與記錄的機(jī)制(參見第27條、第41條和第56條)。

?提供一個(gè)選項(xiàng),使得開發(fā)者可以用Unix命令行工具來編寫與組件有關(guān)的腳本(參見第22條)。

?把內(nèi)部的錯(cuò)誤暴露出來,使其表現(xiàn)為軟件故障,而不要將其隱藏起來,使其成為軟件中的不穩(wěn)定因素(參見第55條)。

?提供一種方式,使得開發(fā)者能夠在軟件發(fā)生故障之后獲得內(nèi)存轉(zhuǎn)儲(chǔ)(memory dump)信息(參見第35條和第60條)。

?從數(shù)量和范圍方面,盡量縮減軟件在執(zhí)行時(shí)的不確定因素(參見第63條)。

構(gòu)建軟件的時(shí)候,應(yīng)該遵循下列建議:

?征求同事的意見(參見第39條)。

?為你所編寫的每個(gè)例程創(chuàng)建單元測試(參見第42條)。

?用斷言來驗(yàn)證自己所做的假設(shè)是否成立,以及代碼的功能是否正確(參見第43條)。

?盡量把代碼寫得易于維護(hù),也就是要寫出易讀、穩(wěn)定且便于分析和修改的代碼(參見第46條和第48條)。

?在構(gòu)建程序時(shí)避免不確定的因素(參見第52條)。

在對(duì)軟件的開發(fā)及運(yùn)作進(jìn)行管理時(shí),應(yīng)該遵循下列建議(無論是要管理一個(gè)團(tuán)隊(duì),還是只管理自己的流程):

?用適當(dāng)?shù)氖聞?wù)追蹤系統(tǒng),把遇到的問題記錄下來(參見第1條)。

?對(duì)各種有待處理的事務(wù)進(jìn)行分類,并排定其優(yōu)先次序(參見第8條)。

?把對(duì)軟件所做的修改適當(dāng)?shù)赜涗浽谛抻喒芾硐到y(tǒng)中,并且對(duì)該系統(tǒng)進(jìn)行較好的維護(hù)(參見第26條)。

?漸進(jìn)地部署軟件,使得我們可以在新舊版本之間進(jìn)行對(duì)比(參見第5條)。

?盡量采用各種不同的工具來開發(fā),并試著把程序部署在各種環(huán)境中(參見第7條)。

?經(jīng)常對(duì)工具與程序庫進(jìn)行更新(參見第14條)。

?如果使用了第三方的程序庫,那么可以考慮購買該程序庫的源代碼(參見第15條);考慮購買一些較為完善的工具來鎖定那些不太容易找到的錯(cuò)誤(參見第51條、第59條、第62條、第64條及第65條)。

?尋找專門的工具來調(diào)試硬件接口及嵌入式系統(tǒng)(參見第16條)。

?使得開發(fā)者能夠遠(yuǎn)程調(diào)試軟件(參見第18條)。

?對(duì)于消耗資源較多的故障診斷任務(wù)來說,要留出足夠的CPU及磁盤資源(參見第19條)。

?鼓勵(lì)開發(fā)者之間通過代碼評(píng)審及編程指導(dǎo)等手段進(jìn)行協(xié)作(參見第39條)。

?鼓勵(lì)大家進(jìn)行測試驅(qū)動(dòng)開發(fā)(參見第42條)。

?在構(gòu)建軟件的時(shí)候,要做性能分析、靜態(tài)分析以及動(dòng)態(tài)分析(參見第57條、第51條及第59條),并且要打造一套迅速而高效的構(gòu)建流程與測試流程(參見第53條及第11條)。

主站蜘蛛池模板: 泾阳县| 故城县| 工布江达县| 女性| 黄浦区| 安仁县| 灵宝市| 富平县| 高安市| 屏南县| 奉新县| 丰宁| 井研县| 岳阳市| 全椒县| 石楼县| 沙坪坝区| 静海县| 巴中市| 铜陵市| 永德县| 图们市| 修文县| 云梦县| 永安市| 仪陇县| 集贤县| 桃源县| 黄龙县| 兴隆县| 达州市| 平谷区| 巩留县| 青冈县| 罗田县| 庄河市| 乌兰浩特市| 江口县| 东至县| 沙湾县| 南平市|