日本综合一区二区|亚洲中文天堂综合|日韩欧美自拍一区|男女精品天堂一区|欧美自拍第6页亚洲成人精品一区|亚洲黄色天堂一区二区成人|超碰91偷拍第一页|日韩av夜夜嗨中文字幕|久久蜜综合视频官网|精美人妻一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時間:8:30-17:00
你可能遇到了下面的問題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
什么樣的代碼為好代碼?好代碼的科學(xué)定義

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

創(chuàng)新互聯(lián)公司專業(yè)為企業(yè)提供高密網(wǎng)站建設(shè)、高密做網(wǎng)站、高密網(wǎng)站設(shè)計、高密網(wǎng)站制作等企業(yè)網(wǎng)站建設(shè)、網(wǎng)頁設(shè)計與制作、高密企業(yè)網(wǎng)站模板建站服務(wù),十余年高密做網(wǎng)站經(jīng)驗,不只是建網(wǎng)站,更提供有價值的思路和整體網(wǎng)絡(luò)服務(wù)。

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

方法

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

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

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

  • 人腦可閱讀。

  • 能自我解釋。

  • 人們能讀懂。

  • 很容易理解。

  • 不用5分鐘就能了解。

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

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

  • 就如同文本一樣可讀。

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

結(jié)果

這65位開發(fā)人員的答案總共統(tǒng)計出288條不同的內(nèi)容,平均一個人4.43條。

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

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

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

其他的,如,可擴展的/可重復(fù)使用的,恰當(dāng)?shù)拿?guī)律,代碼解耦或者稱為小方法的重要性——當(dāng)然這個“小”在不同開發(fā)人員的眼中概念還不一樣:“10-15行”到“<50行”莫衷一是。

探討

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

  • 再怎么測試也不會發(fā)生崩潰。

  • 不要創(chuàng)建那些并不需要的玩意兒。

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

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

  • 你需要了解業(yè)務(wù)目的。

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

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

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

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

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

  • 可維護:因為我們大多數(shù)人都有過維護別人代碼的經(jīng)歷(或者一段時間以后維護自己的代碼),并且很有可能度過了一段非常悲慘的日子。所以,我們期待更多的開發(fā)人員能夠編寫出可維護的代碼??赡苡械娜思僭O(shè)代碼可讀,那么一定易于維護,所以就忽略了這一條。

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

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

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

***,我們總結(jié)出好代碼的定義:

“好的代碼是可讀的,可理解的,覆蓋了自動化測試的,不過于復(fù)雜,并且能辦好我們需要它做的事情?!?/p>

聽起來就相當(dāng)美,right?

譯文鏈接:http://www.codeceo.com/article/what-is-good-code.html

英文原文:What is good code? A scientific definition.

 


網(wǎng)頁名稱:什么樣的代碼為好代碼?好代碼的科學(xué)定義
文章網(wǎng)址:http://www.dlmjj.cn/article/dhhddjg.html