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

軟件工程必看——10條你最容易忽視的經(jīng)典法則

新聞 前端
本文列出了10條經(jīng)常被忽視的軟件工程法則,包括康威定律、布魯克斯定律、扎溫斯基定律、帕金森定律、帕累托法則、斯特金的啟示、彼得原理、Eagleson 定律、Greenspun 的第十條編程規(guī)則以及冰山謬論。

 [[384881]]

本文列出了10條經(jīng)常被忽視的軟件工程法則,包括康威定律、布魯克斯定律、扎溫斯基定律、帕金森定律、帕累托法則、斯特金的啟示、彼得原理、Eagleson 定律、Greenspun 的第十條編程規(guī)則以及冰山謬論。

在進(jìn)行軟件開發(fā)和產(chǎn)品設(shè)計(jì)的時候,有一些經(jīng)典又有重要參考價值的法則常常被忽視,而忽視這些法則又會讓開發(fā)者走一些彎路。

因此,小編在這里放上10條最容易被忽視的10條軟件工程法則,大家可以作為參考:

1. 康威定律(Conway's Law)

任何設(shè)計(jì)系統(tǒng)的組織,其設(shè)計(jì)的結(jié)構(gòu)都是該組織溝通結(jié)構(gòu)的復(fù)制品。

軟件工程必看——10條你最容易忽視的經(jīng)典法則

你可能會認(rèn)為,通過不同層級的會議以及股東的更新和決策,這個狀況可以得到避免,但是實(shí)際是,沖突或分歧發(fā)生的優(yōu)先級,將導(dǎo)致同樣沖突和分歧的過程和結(jié)果,從而影響整個設(shè)計(jì)的結(jié)構(gòu)。

2. 布魯克定律(Brooks's Law)

“給一個遲來的軟件項(xiàng)目增加人力會使它更遲。”

軟件工程必看——10條你最容易忽視的經(jīng)典法則

當(dāng)你意識到你沒有取得預(yù)期的進(jìn)展,并且管理層試圖重新分配人力資源時,那么項(xiàng)目不僅會更加推遲,而且最后很可能會交付一個更加脆弱、更復(fù)雜的產(chǎn)品。

3. 扎溫斯基定律(Zawinski's Law)

“每個程序都試圖擴(kuò)展,直到它包含了一個web服務(wù)器。那些不能擴(kuò)展的項(xiàng)目會被能夠擴(kuò)展的項(xiàng)目所取代。”

軟件工程必看——10條你最容易忽視的經(jīng)典法則

4. 帕金森定律(Parkinson's Law)

工作完成的時間會影響工作的量"

軟件工程必看——10條你最容易忽視的經(jīng)典法則

在這里,主要的項(xiàng)目管理經(jīng)驗(yàn)是,如果你不為概念性的里程碑設(shè)定大概的最后期限,那么項(xiàng)目將永遠(yuǎn)不會完成。這也說明了在固定的時間線上迭代最小可行產(chǎn)品的重要性。

當(dāng)然,我們也可以根據(jù)數(shù)據(jù)、處理能力、RAM等等來調(diào)整這條法則:

在使用完所有可用的存儲空間/帶寬/周期/RAM之前,數(shù)據(jù)/CPU/內(nèi)存的使用會一直擴(kuò)展

實(shí)際上,32GB對任何人來說都足夠了,對吧?

5. 帕累托謬論(Pareto's Fallacy)

帕累托原則很容易被曲解,尤其是被管理層曲解。這通常會導(dǎo)致帕累托謬論:

“當(dāng)你完成了80%時,你會認(rèn)為你只剩下20%了。”

這里忽略的關(guān)鍵部分是,這20%,其實(shí)需要你投入80%的時間。

軟件工程必看——10條你最容易忽視的經(jīng)典法則

6. 斯特金啟示(Sturgeon's Revelation)

所有部分的90%都是無用的。

軟件工程必看——10條你最容易忽視的經(jīng)典法則

是的,你的產(chǎn)品也包含在內(nèi)。

7. 彼得原則(The Peter Principle)

在等級制度中,每個員工都傾向于升到他們不能勝任的級別。因此,隨著時間的推移,每個崗位都有可能被不稱職的員工占據(jù)。”

軟件工程必看——10條你最容易忽視的經(jīng)典法則

8. Eagleson定律(Eagleson's Law)

任何你自己的代碼,如果你有6個月或更長的時間沒有查看,就好像是別人寫的一樣。

軟件工程必看——10條你最容易忽視的經(jīng)典法則

實(shí)際上,6個月已經(jīng)相當(dāng)樂觀了。

不過,有一點(diǎn)需要注意,那就是“Yo mom推論”:

只有原作者才可以批評代碼;任何其他的負(fù)面反饋都會被駁回。

9. Greenspun編程的第10條規(guī)則(Greenspun's 10th Rule of Programming)

任何自定義開發(fā)的身份驗(yàn)證系統(tǒng)都包含一個特別的、非正式指定的、充滿錯誤的、緩慢的Kerberos實(shí)現(xiàn)。

[[384883]]

這可以概括為普遍的NIH規(guī)則:“任何定制開發(fā)的系統(tǒng)都包含一個臨時的、非正式指定的、有bug的、緩慢的執(zhí)行,而這些執(zhí)行的對象有一半都是你拒絕使用的工業(yè)界標(biāo)準(zhǔn)。”

10. 冰山謬論(The Iceberg Fallacy)

新軟件產(chǎn)品的開發(fā)成本僅占所有權(quán)管理的總成本和預(yù)算的25%。

[[384884]]

對于運(yùn)維來說,有一句格言是這么說的:

“如果軟件維護(hù)占總擁有成本的75%,那么運(yùn)營支持就是剩下的75%。

 

責(zé)任編輯:張燕妮 來源: 新智元
相關(guān)推薦

2015-05-11 15:06:00

軟件工程師寫代碼

2024-10-18 14:29:28

2011-05-17 09:25:33

軟件工程師

2013-11-29 09:30:52

2009-02-12 11:52:23

軟件工程師職業(yè)規(guī)劃價值

2011-05-17 10:48:30

軟件程序員

2011-05-16 10:05:33

軟件工程師Java工程師

2015-07-02 10:06:27

軟件開發(fā)軟件工程

2013-08-01 13:55:55

Android 4.3新特性

2011-09-07 08:59:23

2011-05-10 09:22:28

軟件工程

2024-08-22 15:07:24

2011-07-08 16:37:20

2020-06-05 12:01:11

軟件工程C++Python

2020-03-16 14:25:57

軟件開發(fā) 經(jīng)驗(yàn)

2011-09-08 10:26:49

2021-03-15 08:15:16

程序員架構(gòu)代碼

2011-05-17 16:48:40

關(guān)鍵詞

2016-01-29 10:03:43

優(yōu)秀程序員黃金法則

2012-11-28 15:53:16

災(zāi)難恢復(fù)
點(diǎn)贊
收藏

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