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

好代碼的科學定義

開發 后端 前端
你如何定義好的代碼?本文通過咨詢65個開發人員同一個問題從而得出了一個偽科學的答案。

首先我們相信寫好代碼是非常重要的。為什么呢?首先,好代碼比差代碼更有趣,成本更低。其次,代碼好,就意味著你正在構建的產品有可能會更好。第三,也是非常關鍵的一點,寫出好的代碼是我們的職責:畢竟,我們的工作就是寫代碼。

 

好代碼的科學定義

Good code measure is wtf/minute by osnews

方法

由于此65名開發人員都是我們某個職位的應聘者,所以這意味著這些樣品開發人員大多偏向于使用Java或Scala技能,并且通常有著5年及以上的工作經驗。

問題統一:“怎樣寫好代碼?你如何定義好代碼?”并且在面試時由同一人(面對面或通過電話),歷時約1年,從2014年1月至2015年1月,來執行此地調查。

梳理這些問題的答案之后,可以分為31個不同的類,每組至少有2個相似的答案。例如,下面這些答案通通歸納為可讀一類:
可讀。

  • 人腦可閱讀。

  • 能自我解釋。

  • 人們能讀懂。

  • 很容易理解。

  • 不用5分鐘就能了解。

  • 沒有文檔,你也可以閱讀并理解。

  • 可讀,新來的開發人員也能夠理解。

  • 就如同文本一樣可讀。

  • 易于閱讀,直線化的思維。

結果

這65位開發人員的答案總共統計出288條不同的內容,平均一個人4.43條。

當然,目前最常見的答案是,代碼必須可讀(78.46%),幾乎10分之8的開發人員認為,好的代碼應該易于閱讀和理解。

然后是可測試的/測試過的(29.23%),這說明好的代碼應當是經過自動化測試的(或至少是有可能執行測試的)。25%的受訪者認為,良好的代碼 還應該是簡單的——不過于復雜,當然還應該是可以工作的,意味其能夠按照我們的意愿正常執行功能。前五條是,代碼應該是可維護的(21.54%)。

奇怪的是,我們發現有兩項內容是關于同一主題的:文檔和代碼注釋。有的開發人員認為代碼應該自文檔化(不需要用文檔解釋),而有些開發人員則表示應該在代碼中著重于注解,說明代碼目的。

其他的,如,可擴展的/可重復使用的,恰當的命名規律,代碼解耦或者稱為小方法的重要性——當然這個“小”在不同開發人員的眼中概念還不一樣:“10-15行”到“<50行”莫衷一是。

[[137947]]

Characteristics of good code

探討

面試中的回答給了我們很多有趣的可用于分析的定量數據,而有些數據非常值得一提。下面這些是我們點贊量最多的答案,有的讓我們會心一笑,有的有理有據值得深思:

  • 再怎么測試也不會發生崩潰。

  • 不要創建那些并不需要的玩意兒。

  • 任何人都需要寫點注釋。好不好以后自然會知道。

  • 你看到它,它才有意義。

  • 你需要了解業務目的。

  • 你需要做的不僅僅是寫代碼。

  • 不需要太過于特立獨行。

  • 差的代碼也能做很多事情,但就是通通做不好。

開發人員重視代碼的可讀性和可理解性并不奇怪。但是令人有一點點驚訝的是,其余的回答卻差不多至少有50%的差異!

[[137948]]

How to write good code by xkcd

以下這四條就屬于讓人驚訝的后者:

  • 可維護:因為我們大多數人都有過維護別人代碼的經歷(或者一段時間以后維護自己的代碼),并且很有可能度過了一段非常悲慘的日子。所以,我們期待更多的開發人員能夠編寫出可維護的代碼。可能有的人假設代碼可讀,那么一定易于維護,所以就忽略了這一條。

  • 可工作:編寫代碼的目的,就是能夠為他人提供價值。編寫可工作的代碼,是我們的首要任務之一。所以我們很驚訝為什么并不是每一個開發人員的答案中都囊括這一條。

  • 可測試/已測試過的:測試的重要性在這里我就不多說了,相信大家已經聽到過不知道幾百遍了。

  • 高效:話說,答案中包含“高效”的開發人員比強調“不可過早優化”的開發人員,要多兩倍,而眾所周知,“過早的優化是萬惡之源”,所以,這太讓人納悶了。

***,我們總結出好代碼的定義:

“好的代碼是可讀的,可理解的,覆蓋了自動化測試的,不過于復雜,并且能辦好我們需要它做的事情。”

聽起來就相當美,right?

責任編輯:王雪燕 來源: codeceo.com
相關推薦

2015-04-15 15:01:56

代碼好代碼科學定義

2022-05-07 10:01:20

好代碼壞代碼

2015-11-10 09:09:23

代碼程序員成長

2023-02-28 11:18:57

CUPID代碼

2020-03-28 16:04:26

數據科學Matplotlib圖表

2014-05-16 10:51:33

科學代碼最佳實踐

2018-03-30 10:02:08

代碼規范維護工程師

2017-04-10 18:10:31

2020-09-21 05:57:11

代碼編程語言開發

2020-10-22 09:09:41

Python數據科學代碼

2022-03-23 08:01:04

Python語言代碼

2021-01-21 14:25:44

代碼開發Nature

2020-11-04 11:17:20

好代碼程序員整潔

2013-07-01 11:15:55

代碼產品

2020-03-04 13:58:43

無代碼數據科學數據

2024-09-05 10:17:34

2019-08-01 12:56:00

Python代碼記錄

2023-12-01 15:10:56

2024-12-11 18:24:29

2022-04-12 09:30:00

共享代碼塊數據集數據科學家
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 亚洲色图婷婷 | 精品国产一区二区在线 | 在线观看亚洲专区 | 中文字幕视频一区二区 | 国产成人亚洲精品 | 日韩国产精品一区二区三区 | 最新日韩在线 | 欧美一级高清片 | 四虎影视1304t | 亚洲一区在线观看视频 | 国产精品久久久久久吹潮 | 成人妇女免费播放久久久 | 久久婷婷色 | 91传媒在线观看 | 91视视频在线观看入口直接观看 | 久久久久91 | 91精品国产欧美一区二区成人 | 色婷婷久久久亚洲一区二区三区 | 亚洲a一区 | 国产一级片久久久 | 日韩a v在线免费观看 | 一区二区三区免费 | 国产激情一区二区三区 | 黑人巨大精品欧美黑白配亚洲 | 午夜小视频在线播放 | 欧美一级毛片久久99精品蜜桃 | 亚洲福利一区 | 看特级黄色片 | 欧美最猛性xxxxx亚洲精品 | 一区二区视频在线 | 欧美黄色一区 | 久久精品亚洲欧美日韩久久 | 亚洲中午字幕 | 精品欧美一区二区精品久久久 | 色橹橹欧美在线观看视频高清 | 国产精品一区二区三区久久久 | 成人免费视频网站在线看 | 精品国产青草久久久久福利 | 黄色av网站在线免费观看 | 综合久久综合久久 | 久久婷婷麻豆国产91天堂 |