自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

低質(zhì)量軟件編程產(chǎn)生的成本價格細目表

開發(fā) 項目管理
注意:下面這個清單里描述的事情并不是你絕對不能做的,它只是用量化的方法來讓你知道編程上的這些做法將會產(chǎn)生的負面代價。這些費用是在代碼審查時你將要付出的。

注意:下面這個清單里描述的事情并不是你絕對不能做的,它只是用量化的方法來讓你知道編程上的這些做法將會產(chǎn)生的負面代價。

這些費用是在代碼審查時你將要付出的。

[[84888]]


不遵守編碼風(fēng)格

費用: $0.02

代碼庫中的程序編碼風(fēng)格一致雖然不是很重要,但值得你去遵守。

在提交代碼的說明信息上偷懶

費用: $0.50

這主要是為了以后的查找。請細讀這篇代碼提交說明信息指導(dǎo)(英文)。

使用局部變量

費用: $1.00

大多數(shù)的局部變量都最好使用方法代替。注意:代碼塊參數(shù)除外。

多于一行的方法

費用: $1.50

對多于一行代碼的方法要保持高度警惕。

超過5行的方法

費用: $3.00

一個方法應(yīng)該只做一個事情。一個事情應(yīng)該用不了5行代碼就能完成。

很長的類

費用: $5.00

根據(jù)童子軍(Boy Scout)法則:同性戀應(yīng)該被禁止。哦,不,是另外一條:盡量只留下你會用到的代碼。當你遇到一個比較長的類時,花點功夫精簡它們。

使用魔幻數(shù)字

費用: $7.00

在代碼中你只可以使用兩個數(shù)字:0和1。其它的都應(yīng)該用具有名字的常量代替。

在條件判斷中使用`||` 或 `&&`

費用: $7.00

當你發(fā)現(xiàn)有 `if foo && bar` 時,把它提取到一個方法里,用來說明`foo && bar` 究竟是什么意思。

使用 case 或 switch 語句

費用: $15

一個swith語句基本上不是只做一個事情。它通常還會牽涉到其它類。

傳遞布爾參數(shù)

費用: $15

依賴布爾參數(shù)的程序流轉(zhuǎn)叫做控制耦合,這是一種完全不應(yīng)該的高耦合。

類名用Manager結(jié)尾

費用: $30

“Manager”是一個很含糊的詞,傳達不了任何意思。使用它,很有可能你的類承擔(dān)了過多的責(zé)任。

過度使用附加支持

費用: $10/object created

盡量簡化你測試時需要的附加支持工具。如果能用臨時對象代替,就避免使用數(shù)據(jù)庫。

測試中屏蔽某些功能

費用: $10/屏蔽的方法

如果你在測試Foo類,你就不應(yīng)該屏蔽或短路Foo中的任何方法。你越想這樣做,越說明你需要從Foo中把這些功能提煉出來放到其它地方。

在數(shù)據(jù)庫中觀察集成測試效果

費用: $20

集成測試應(yīng)該通過UI來驗證。不要去窺探數(shù)據(jù)庫。

注釋

費用: $200/行

一千個注釋中頂多只有一條有合理存在的理由。其它的你應(yīng)該改進代碼,直到不需要注釋。

注釋中包含 TODO 或 FIXME

費用: $500/行

我不在意代碼分支中存在不多的TODO注釋,但絕對不要把它們合并的代碼庫中。“FIXME”實際上是“fuck you”你的同事。

無意義的命名

費用: $50/代碼審查者的疑惑

一定要努力努力好好給代碼命名。當系統(tǒng)有變化時及時修改、改進你的命名。當發(fā)現(xiàn)有更好的名稱時,不要等待,立即換掉。

靜態(tài)方法或類方法

費用: $50/個

Ruby里的類方法具有可變?nèi)譅顟B(tài)。想辦法重構(gòu)它們。

不必要的屬性狀態(tài)變化

費用: $100/變化

與其修改一個現(xiàn)有的記錄,不如創(chuàng)建一個新的,或return一個。與其刪除,不如做標記。Rich Hickey 對此有一些你值得一讀的思考。

一個類有多個職責(zé)

費用: $200/額外職責(zé)

一個類應(yīng)該只有一個職責(zé)或目的。幾乎沒有人因為使得類太小而出錯。鑒于此,你的類很可能太大。

重復(fù)的代碼

費用: $500

編程中幾乎沒有任何原則你必須遵守的,但避免代碼重復(fù)是個例外。代碼復(fù)制給維護造成困難,嚴重影響代碼質(zhì)量。

重復(fù)的測試代碼

費用: $500

測試代碼并不是產(chǎn)品代碼的次要附屬物。它們的質(zhì)量同等重要。更嚴重的:維護一個糟糕的測試套件代碼可能會讓你欲哭無淚。

未經(jīng)測試的代碼

費用: $1,000/行

未經(jīng)測試的代碼自誕生之時起就成了負擔(dān)。這樣做很不專業(yè)。

感謝Paul Graham先生的“On Lisp”,本文是受他的在某些函數(shù)上收稅的想法而啟發(fā)。

原文鏈接:http://codeulate.com/2013/08/how-much-should-global-variables-cost/

譯文鏈接:http://www.aqee.net/how-much-should-global-variables-cost/

責(zé)任編輯:陳四芳 來源: 外刊IT周刊
相關(guān)推薦

2012-11-30 09:23:03

云計算成本云開發(fā)開源云

2010-01-26 13:09:09

千兆交換機

2010-03-19 16:01:10

千兆交換機

2022-03-26 18:49:29

芯片顯卡

2012-08-02 11:17:13

筆記本

2013-01-06 10:48:00

統(tǒng)一通信公司業(yè)務(wù)

2023-06-09 15:28:33

數(shù)據(jù)質(zhì)量數(shù)據(jù)價值

2011-09-26 15:44:10

英特爾DH61WW服務(wù)器

2022-07-29 18:44:13

軟件質(zhì)量保證

2025-01-07 14:30:07

2022-03-25 11:53:06

戴爾

2022-07-13 08:00:00

軟件測試回歸測試Cypress

2020-10-29 06:19:56

DevOps

2023-10-13 09:46:48

2018-05-09 10:59:55

軟件定義存儲

2022-05-16 09:36:34

微軟WindowsWindows 11

2017-05-26 10:45:49

云計算公有云質(zhì)量

2011-06-06 13:46:11

打印機體驗

2014-07-09 10:53:58

軟件許可證

2009-02-05 09:23:13

SaaS軟件定價軟件服務(wù)
點贊
收藏

51CTO技術(shù)棧公眾號