成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

軟件開發中的“瑞士軍刀綜合征”

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

如果大家認為這篇文章更多是在噴,我先說抱歉。“瑞士軍刀綜合征”的想法是起源于我和項目經理、客戶、甚至其他開發者打交道的過程中產生的沮喪感,他們都以一種狹隘特殊的方式思考問題。我稱之為“瑞士軍刀綜合征”。

瑞士軍刀

[[113562]]

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

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

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

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

更多功能

=

更大價值

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

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

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

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

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

 

明確目的

[[113563]]

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

只做一件事,并做好它。

我們發現軟件設計中也有同樣的原則,通常叫做單一功能原則:

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

總結

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

特別感謝:

Mark Holmes – http://markholmes.io/

原文鏈接: coderoncode   翻譯: 伯樂在線 - TonyRideBike

譯文鏈接: http://blog.jobbole.com/68694/

責任編輯:林師授 來源: 伯樂在線
相關推薦

2014-09-26 14:30:41

2010-12-01 12:31:23

NetCat掃描端口

2009-07-21 14:16:18

Scalafor表達式

2017-05-03 14:45:45

MySQL數據恢復

2013-06-08 10:36:47

Linux命令行

2020-07-02 09:21:40

Java 緩存開發

2013-04-11 10:51:27

2011-08-01 09:43:08

PhoneGap 1.PhoneGap

2019-06-24 09:57:39

網絡工具調試

2011-10-18 14:11:17

Web開發

2022-02-15 10:15:13

Web網絡程序員

2019-06-27 17:00:09

nc命令 Linux

2021-09-05 18:30:59

Alpine容器Busybox

2023-04-27 07:06:09

Categraf夜鶯

2023-12-25 12:03:42

2024-04-02 10:28:13

WindowsDevToys開發

2021-12-28 09:55:40

UbuntuRescuezillaLinux

2025-03-03 09:20:00

VueUseVue.js前端

2015-09-28 09:46:31

ZooKeeper分布式系統瑞士軍刀

2020-11-07 16:30:27

Python開發程序員
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 青娱乐av | 四虎影院新地址 | 精品国产鲁一鲁一区二区张丽 | 视频一区 亚洲 | 国产精品久久久久免费 | 国产成人99久久亚洲综合精品 | 欧美黑人一级爽快片淫片高清 | 日韩三级视频 | 国产精品a久久久久 | 国产精品久久久久久久久免费软件 | 色橹橹欧美在线观看视频高清 | 超碰网址 | 久久99精品视频 | 国产精品1| 国产综合精品一区二区三区 | 精品无码久久久久国产 | 国产视频在线一区二区 | 国产91av视频 | 在线看亚洲 | 亚洲精品二区 | 亚洲激情综合 | 中文字幕一区二区三区四区五区 | 欧美日韩视频在线第一区 | 国产精品久久av | 国产精品日韩 | 日韩欧美中文字幕在线观看 | 免费av毛片 | 成人综合在线视频 | 国产精品精品视频一区二区三区 | 亚洲欧美网| 午夜精品久久久久久久星辰影院 | 97久久精品午夜一区二区 | 亚洲九九精品 | 国产成视频在线观看 | 亚洲精品久久久久久久久久久久久 | 亚洲电影在线播放 | 国产精品国产精品国产专区不卡 | 99久久久久久久 | 成人二区三区 | 亚洲视频手机在线 | 99热激情|