九九热这里直有精品,1区二区三区在线播放,玖玖爱在线观看资源,国产aⅴ综合网,午夜福利男女,日本亚洲欧美三级,日韩无码黄色导航,内射少妇13区,中文字幕高清网

您身邊的軟件定制專家--9年開發(fā)經(jīng)驗為您護航

18678812288
0531-88887250

軟件開發(fā)中的“瑞士軍刀綜合癥”

文章作者:濟南軟件開發(fā) 時間:2016年11月08日

  “瑞士軍刀綜合癥”的想法是起源于我和項目經(jīng)理、客戶、甚至其他開發(fā)者打交道的過程中產(chǎn)生的沮喪感,他們都以一種狹隘特殊的方式思考問題。我稱之為“瑞士軍刀綜合癥”。

  瑞士軍刀

  “瑞士軍刀”這個詞通常用于描述一種可以在各種情況下使用的多種工具的集合體。

  雖然這樣的組合可能很有用,但同樣要注意一些風險。一個有太多活動部件的工具,可能最后是完全無用的!什么都能做的工具,就是什么都做不好的工具。

  就我的經(jīng)驗來看,同樣的問題也出現(xiàn)在軟件上。大多數(shù)時候,開發(fā)人員僅僅因為“這很酷!”就把一些功能或者一段代碼放進工程里;項目經(jīng)理們會認為這樣或那樣的特性可以增加價值,并且在項目中期修改需求;消費者因為聽說或看到某個性能對他們“至關(guān)重要”而期望額外功能或特性。

  這種“瑞士軍刀綜合癥”可以有很多形式:需求范圍的蔓延,過早的優(yōu)化,等等。但是問題的根源在于,我們是如何理解并評判軟件、工作量及其附加價值的價值:

  更多功能 = 更大價值

  現(xiàn)實中,以及絕大多數(shù)情況,事實恰恰相反。一段代碼或者一個軟件越復雜,它提供的價值就越少。一個個人的例子就可以簡單說明這一概念,Demac Media內(nèi)部使用的樞紐控制臺。

  本來這個應(yīng)用很簡單:我們需要一個(1)查看所有分配給小組的任務(wù)和(2)通過本周或兩周的底線來過濾任務(wù)——簡單來講,就是一個帶有過濾功能的任務(wù)整合器。

  我用了一周時間,寫出了基本的功能。在下周周一時,我給我們團隊的項目經(jīng)理展示的時候,他認為這個應(yīng)用不錯,很有用。

  “……但是,如果……,將會更不錯……”

  于是瑞士軍刀綜合癥開始了:這個工具要和另一個團隊共同使用。在他們還沒有開始使用之前,我們就收到了一堆需要添加的新特性。突然間,我們有了很多遠超出這個應(yīng)用最開始設(shè)計的需求。

  明確目的

  軟件應(yīng)該是簡潔的,只提供它應(yīng)該提供的功能。為了配合上面的軍刀,一段優(yōu)秀的代碼,就應(yīng)該像廚子的刀一樣。一個廚刀很簡潔,有特定的功能。一個專業(yè)大廚會在不同情況下用不同的刀。同樣的思維方式也應(yīng)該應(yīng)用到代碼中。

  只做一件事,并做好它。

  我們發(fā)現(xiàn)軟件設(shè)計中也有同樣的原則,通常叫做單一功能原則:

  單一功能原則規(guī)定每個類都應(yīng)該有一個單一的功能,并且該功能應(yīng)該由這個類完全封裝起來。所有它的服務(wù)都應(yīng)該嚴密的和該功能平行。

  總結(jié)

  任何一個公司、項目經(jīng)理、開發(fā)人員,或者是客戶都應(yīng)當遵守這一邏輯。我們傾向于認為,擁有更多或者實現(xiàn)更多就等同于更好、更有價值。軟件應(yīng)該是優(yōu)雅的,優(yōu)雅的代碼就是簡潔地完成需求的代碼。因此,我們開發(fā)人員有責任確保我們所寫的每段代碼都盡可能優(yōu)雅簡潔。


想要了解更多詳情歡迎來電咨詢18678812288
登陸網(wǎng)址:m.h6244.cn。
聯(lián)系人:王經(jīng)理。

犍为县| 阳春市| 广水市| 噶尔县| 阿克苏市| 鹤岗市| 镇赉县| 富裕县| 襄汾县| 化德县| 松滋市| 二连浩特市| 永兴县| 专栏| 松滋市| 筠连县| 永胜县| 筠连县| 贵定县| 富平县| 察雅县| 天峨县| 克东县| 芦山县| 延吉市| 南京市| 淮滨县| 渭源县| 连南| 肥东县| 襄垣县| 留坝县| 古蔺县| 京山县| 枝江市| 石景山区| 政和县| 眉山市| 岳阳县| 陇川县| 扶绥县|