精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

程序員寫出干凈代碼的十項技巧

譯文 精選
開發 前端
本文將和您討論能夠編寫出優秀且干凈代碼的十大技巧。

譯者 | 陳峻

審校 | 梁策 孫淑娟

眾所周知,干凈的代碼不但能夠讓閱讀者方便理解程序的意圖,而且也方便維護與迭代。總的說來,它能夠給軟件的開發與升級帶來如下好處:

  • 在維護上花費更少的時間。干凈的代碼更易于被閱讀和領會,您可以花費更少的時間去弄清楚實際問題的來龍去脈,進而為修復、修改、以及擴展等操作留下更多的時間。
  • 更清晰地交流想法。程序開發離不開協作。而干凈的代碼往往可以減少項目成員之間可能產生的誤解。而且從長遠來看,這也意味著更少的錯誤,更快地解決問題。

不過,正所謂“知易行難”,從某種程度上說,編寫干凈的代碼就像學繪畫、烹飪或攝影那樣--看起來比較容易,實踐起來則比較困難。下面,我將和您討論能夠編寫出優秀且干凈代碼的十大技巧。

1.使用描述性名稱

程序中的變量、類和函數,往往是給其他程序員、以及應用程序底層邏輯之間的接口調用的。因此,當您對變量、類和函數使用不明確且非描述性的名稱時,實際上就是在擾亂閱讀代碼者(包括開發人員自己)對應用程序邏輯的理解。例如:您能一眼看出一個名為dxy的變量的實際含義嗎?想必,您必須閱讀整個代碼塊,才能對其含義進行“逆向工程”吧。不過,對于變量distanceBetweenXY,你我都能夠馬上領會到它代表的含義。

同理,類和函數也是如此。請盡量避免使用CalcTan(),而應當按需采用CalculateTangent()或CalcTangentAngle()。總之,使得代碼看起來整潔的基本技巧之一便是使用描述性名稱。

2. 讓每個類/函數都有實際意義

您一定看到過那些長達數百甚至數千行的函數吧?想必,您在瀏覽、理解、甚至是編輯的時候會覺得無比痛苦。就算行間有相應的注釋,其實際效果往往也是“杯水車薪”的。而干凈的代碼則不然。它們會被分解成不同目的的代碼塊。其中,每個子函數都被設定為完成某個具體的任務,而每個類也都代表了一個特定的概念。由此帶來的簡潔性,更適合局部調整,也更適合問題的定位與排查。

例如,在實踐中,諸如GetCreditScore()之類復雜的功能,有必要被分解成為GetCreditReports()、ApplyCreditHistoryAge()、以及FilterOutstandingMarks()等多個輔助函數。您可以參考《??每個程序員都應該知道的基本編程原則??》一文,來進一步了解相關做法。

3.刪除不必要的代碼

不知您是否有過這樣的體驗:在修復或優化某段代碼的過程中,您特意將其注釋掉,并在其下方開始動手重寫新的代碼。而且,您這樣做的目的,只是純粹為了保留舊的代碼,以備不時之需。不過,隨著時間的推移,您可能會不知不覺地積累了大量的、不再需要的、被注釋掉的代碼塊。這些代碼塊無疑會讓您的源代碼變得混亂不堪。而且,多數實際情況往往是:由于周圍的相關代碼、及其環境也早已發生了迭代,因此這些被注釋掉的代碼,其實并不可能再被恢復使用了。

當然,這種注釋掉舊代碼的做法,完全可以被如今時尚的源代碼控制系統所取代。您可以通過使用Git或Mercurial之類的工具,及時、準確、自動化地開展源代碼管理工作。

同時,為了讓應用服務輕便而敏捷,您也可以有意識地通過現成的Web框架,避免“重復造輪子”,進而利用由框架提供的類庫,來簡化自己的代碼。對此,您可以具體參考《??一些值得開發人員學習的Web框架??》一文。

4.可讀性

大多程序員會把“干凈的代碼”和“聰明的代碼(clever code)”混為一談,并簡單地認為“把十行代碼壓縮成一行,以減少屏幕空間的占用”,便是干凈的代碼。其實,在大多數時候,這樣的代碼不一定真的容易被理解。

在我看來,此類可解決某些專業難題的代碼,屬于“聰明的代碼”范疇。程序員們可以將其視為自己的獨門秘籍。它們往往被用來證明自己的編程技能,甚至被用作炫技之需。而對于干凈代碼的編寫,您應該保持開放的心態:代碼量的多少,并非代碼是否干凈的唯一衡量標準。除了實現代碼的功能,您的代碼還需要保持一定的可讀性。畢竟下一次閱讀該代碼段的很可能不是別人、正是你自己。畢竟,誰都不想給自己的將來刨坑埋雷。

5. 保持一致的編程風格

每個程序員都有自己的編程風格。在此,我并不想推薦或強求大家去遵從某種所謂最佳編程風格。如果您習慣在行間使用大括號,如果您想在方法調用之前加上空格,如果您更喜歡使用制表符而不是空格的話,這些都可以。只不過,請保持此類用法的一致性。

同時,如果您打算將camelCaseNaming用作變量,那么就請不要將其與underscore_naming混為一談;如果您在某個地方使用了GetThisObject(),那么就請不要在其他地方采用FetchThatObject()。

此外,諸如Python和C#等編程語言,本身就帶有各種需要遵循的樣式規范,包括:絕不允許制表符和空格的混用等。

6. 選擇正確的架構

您可以使用各種現成的范例和架構來創建不同的項目。當然,前提條件是,請選擇最適合的,并不是所謂最好的。例如,模型-視圖-控制器(Model-View-Controller,MVC)模式一直是Web開發領域最流行的架構。畢竟,它不但有助于您保持代碼架構的清晰合理,而且能夠使得后期的維護工作量最小。類似地,實體-組件-系統(Entity-Component-System,ECS)模式在游戲開發界也非常流行。畢竟它能夠協助實現模塊化的游戲數據和邏輯,使得維護更輕松,同時能夠生成更加易讀的代碼。

7. 掌握語言中的慣用法

我們所熟悉的Python、Java和JavaScript等不同的語言,都有著不同的編程思想與習慣。它們之間的差別或是巨大或是細微。例如:Python代碼會完全依賴緊湊代碼和鴨子類型(duck typing,基于“當一只鳥走起來像鴨子、游起來像鴨子、叫起來也像鴨子,那么這只鳥就可以被稱為鴨子。”的邏輯,我們不必關心對象是什么類型,只要關心它的動態行為即可。);而Java則更傾向于冗長和明確的代碼。同時,每一種語言都會鼓勵使用自己的慣用法,例如Python中的列表推導式。

與此同時,我們也要警惕所謂的“反面模式(anti-patterns)”。雖然那些由前人積累的、解決某些軟件開發特定問題的模式,會讓后輩獲益無窮;但是如果它們是一些狹隘的、僅對特定需求有效的模式的話,那么就應該被避免繼續沿用。

8.學習大師寫的代碼

俗話說“有樣學樣”,如果您想編寫出干凈的代碼,那么您首先就要知道干凈的代碼應該是什么樣子。而一些大師級前輩的程序作品,就能起到很好的示范作用,學習他們背后的編程思想、邏輯、以及代碼習慣。

顯然,您不可能隨便跑進微軟總部去“偷師”他們的項目,但是您可以通過Github上的各種??展示性項目??,隨時瀏覽到典型的行業應用、以及各個開源項目的源文件代碼。畢竟,這也是開源項目的一個初衷:讓更多的人可以從中學習編程。通過這種社區互助的方式,您的代碼質量會得以迅速提高。

9. 寫好注釋

“附上注釋”是編程世界中最古老的一項建議。不過在實際編程中,新手程序員一旦被建議要盡可能地留下注釋,他們就會樂此不疲。當然,那些不必要的描述、甚至會透露敏感信息的過度注釋,也可能會帶來適得其反的效果。

我們該如何恰如其分地點到為止呢?我的一個經驗法則是:注釋是被用來解釋為何需要這段代碼,而不是講解代碼實際能夠做什么。如果您的代碼寫得足夠干凈的話,其作用是不言自明的。例如:我們雖然可以用注釋來解釋“刪除它就會破壞A、B和C”的警告,但是在大多數情況下,我們應該用注釋來揭示諸如:“使用此參數,是因為X、Y和Z”之類,讀者無法從代碼中立即獲悉到的內容。

10.重構

正如編輯屬于文字寫作過程的一部分那樣,重構也應該是編程過程的一部分。其實,重構能夠起到協助優化代碼的作用,而不會影響其實際行為。同時,重構也有利于提高代碼維護的效率。我在此方面的經驗是:“不要僅僅注釋掉那些讓你覺得混亂、或者不夠好的代碼,請干脆重寫它們吧。”畢竟,隨著時間的推移和經驗的積累,您在回顧或維護整個軟件項目時,總能發現一些對于首次編寫不滿意、且值得重構的代碼。

小結

正如我們學習如何寫出言簡意賅的說明文那樣,干凈的代碼本身并沒有絕對正確的參照標準。希望上文和您討論的十項技巧,能夠成為您避免寫出冗長且臃腫的代碼的實用參考。

譯者介紹

陳峻 (Julian Chen),51CTO社區編輯,具有十多年的IT項目實施經驗,善于對內外部資源與風險實施管控,專注傳播網絡與信息安全知識與經驗;持續以博文、專題和譯文等形式,分享前沿技術與新知;經常以線上、線下等方式,開展信息安全類培訓與授課。

原文標題:10 Tips for Writing Cleaner & Better Code,作者:JOEL LEE


責任編輯:華軒 來源: 51CTO
相關推薦

2013-06-13 14:29:26

架構師程序員

2009-04-14 11:13:22

主流開發開發技能程序員

2016-04-27 15:42:01

技巧構建SDK

2019-09-27 08:00:00

Visual StudVisual Stud開發技巧

2010-09-17 17:35:55

2015-04-03 11:15:32

程序員如何寫簡歷寫簡歷技巧

2021-01-09 22:35:51

程序員編碼代碼

2015-05-11 10:48:28

代碼干凈的代碼越少越干凈

2021-09-01 08:55:20

JavaScript代碼開發

2021-11-30 10:20:24

JavaScript代碼前端

2011-05-12 12:51:18

2015-09-29 10:08:40

移動游戲開發技巧

2017-10-29 22:36:41

程序員

2009-12-25 09:34:54

袁萌Linux

2024-08-13 10:47:01

2020-05-27 10:38:16

開發代碼技巧

2015-12-24 10:28:37

程序員面試技巧

2009-11-27 13:49:54

2016-10-28 14:01:22

DevOps自動化

2012-06-28 11:26:22

點贊
收藏

51CTO技術棧公眾號

欧美7777| 另类欧美小说| 久久99久久99精品| 波多野结衣办公室33分钟| 婷婷在线视频观看| 欧美三级午夜理伦三级在线观看| 国产精品色噜噜| 91成人在线观看国产| 性生活一级大片| 超碰免费在线| 丝袜亚洲精品中文字幕一区| 精品国产一区二区精华| 日本黄色a视频| 91丨九色丨海角社区| 偷拍自拍一区| 婷婷中文字幕一区三区| 国产精品日韩高清| 久草网站在线观看| 国产精品一区二区精品| 国产精品看片你懂得| 高清国产一区| 久久综合亚洲色hezyo国产| 国产电影一区二区| 欧美午夜无遮挡| 久久国产精品一区二区三区四区 | 99re热视频这里只精品 | 2021中文字幕在线| 国产高清不卡二三区| 精品中文字幕在线2019| 国产999免费视频| 日本成人伦理电影| 国产精品视频观看| 欧美日本亚洲| 日本丰满少妇做爰爽爽| 一本久道久久综合婷婷鲸鱼| 亚洲国产精品久久| 欧美 日韩 激情| 五月婷婷六月丁香综合| 久久免费黄色| 992tv成人免费视频| 欧美日韩精品一区二区三区视频播放| 精品久久影院| 欧美日韩国产中文| 亚洲欧美一二三| 国产片在线观看| 久久成人免费网站| 乱亲女秽乱长久久久| 丰满少妇一区二区三区专区| 黄色小说在线播放| 2023国产精品视频| 国产精品视频自在线| 日韩欧美123区| 国产伦乱精品| 91国偷自产一区二区三区成为亚洲经典| 欧美精品v日韩精品v国产精品| 日本黄色大片视频| 日韩av午夜在线观看| 中日韩美女免费视频网站在线观看| 手机免费av片| 9999精品成人免费毛片在线看| 亚洲视频免费看| 国产一区二区高清不卡| 亚洲视频久久久| 亚洲婷婷在线| 国产亚洲精品91在线| 一个人看的视频www| 国产成人免费视频网站视频社区| 制服丝袜亚洲精品中文字幕| 成年人视频大全| 男人的天堂av高清在线| 国产一区在线观看视频| 热99精品里视频精品| 2025国产精品自拍| 亚洲午夜精品一区二区国产 | 国产性生活一级片| 成人免费观看在线观看| 亚洲国产激情av| 国产伦精品一区二区三区| 日本免费网站在线观看| 91香蕉视频污| 99久久99久久精品国产片| 国产又粗又猛又黄视频| 狠狠噜噜久久| 国产69精品久久久久久| 黄色香蕉视频在线观看| 中文字幕av亚洲精品一部二部| 欧美大片在线看| 你懂得视频在线观看| 亚洲综合影院| 欧美亚洲一区二区在线观看| 日韩网站在线免费观看| 福利在线视频网站| 中文字幕第一区综合| 免费在线精品视频| 福利视频在线看| 亚洲色图.com| 国产免费黄视频| 欧美视频精品| 欧美无砖专区一中文字| 性一交一黄一片| 久久爱www成人| 亚洲激情第一页| 日本精品一二三| 国产精品国产亚洲精品| 亚洲精品国产综合久久| 四虎地址8848| 波多野结衣在线观看一区二区| 亚洲国产另类 国产精品国产免费| 国产交换配乱淫视频免费| 国产成人精品福利| 中文字幕日韩高清| 欧美激情亚洲综合| 一区二区国产在线观看| 成人福利免费观看| 国产乱子伦精品无码码专区| 蜜臀va亚洲va欧美va天堂 | av资源吧首页| 欧美日一区二区三区在线观看国产免| 久久精品福利视频| 糖心vlog免费在线观看| 91精品精品| 久久影视免费观看| 无码人妻久久一区二区三区| 国产成人丝袜美腿| 亚洲国产日韩美| 成人高清免费在线播放| 五月综合激情日本mⅴ| 国产中文字幕在线免费观看| 国产成人免费视频网站视频社区| 亚洲日韩中文字幕在线播放| www在线观看免费视频| 欧美一级精品| 2019亚洲男人天堂| 亚洲欧美高清视频| 久久综合久色欧美综合狠狠| www.亚洲成人网| 538在线视频| 91精品国产综合久久精品麻豆| 国产又粗又猛大又黄又爽| 精品欧美久久| 国产成人精品免费久久久久| 一级特黄aaa大片| 国产精品77777| 中文字幕久久综合| 欧美xxxx少妇| 日韩欧美一区二区三区| 黄色污在线观看| 国产最新精品| 色中色综合影院手机版在线观看| 亚洲永久精品视频| 国产精品嫩草99a| 高清一区在线观看| 美国十次综合久久| 亚洲精品按摩视频| 五月天婷婷网站| 久久成人精品| 1卡2卡3卡精品视频| 天堂91在线| 亚洲日穴在线视频| 国产男女无遮挡猛进猛出| 综合久久精品| 国产精品一区二| 日韩脚交footjobhdboots| 欧美日韩一二三区| 国产精品手机在线观看| 成人动漫免费在线观看| 国产成人综合一区二区三区| 国产对白叫床清晰在线播放| 欧美三级视频在线| 手机av在线看| 成人黄色av网站在线| 色播五月综合| 精精国产xxx在线视频app| 亚洲精品综合精品自拍| 青青草精品在线视频| 亚洲欧美日本视频在线观看| 91久久久亚洲精品| 欧美在线一卡| 亚洲成人自拍网| 欧美视频亚洲图片| 亚洲性图久久| 成人夜晚看av| sqte在线播放| 亚洲图片欧美午夜| 国产视频一区二区三区四区五区| 久久精品水蜜桃av综合天堂| 男人添女人荫蒂免费视频| 欧美做受69| 国产日韩欧美中文| 国产福利在线观看| 91精品一区二区三区久久久久久| 免费在线黄色片| 国产丝袜欧美中文另类| 国产aaa一级片| 欧美丝袜美腿| 国产狼人综合免费视频| а_天堂中文在线| 国产一区二区三区18| www男人的天堂| 亚洲男同1069视频| 日韩在线不卡一区| 亚洲经典自拍| 99re在线播放| **欧美日韩在线观看| 色综合天天狠天天透天天伊人| 日本大臀精品| 欧美xxxx老人做受| 精国产品一区二区三区a片| 91片在线免费观看| 国产999免费视频| 青椒成人免费视频| 黄色一级片播放| 欧美日韩视频一区二区三区| 少妇特黄a一区二区三区| 精品资源在线| 欧美中文在线免费| 青草影视电视剧免费播放在线观看| 亚洲人成电影网站色| 亚洲精品一区二区三区四区| 亚洲成人在线网站| 手机av在线看| 国产精品视频你懂的| 国产成人精品无码免费看夜聊软件| 国产成人精品亚洲午夜麻豆| 91av视频免费观看| 男女男精品视频网| aa免费在线观看| 99伊人成综合| 久操网在线观看| 国语精品一区| 男女裸体影院高潮| 精品福利网址导航| 91免费在线观看网站| 小说区图片区亚洲| 欧美成人中文字幕在线| 欧美熟妇另类久久久久久不卡| 在线综合视频播放| 91成人国产综合久久精品| 欧美亚洲动漫制服丝袜| 青草视频在线观看免费| 久久久久久97三级| 人妻丰满熟妇aⅴ无码| 麻豆久久一区二区| 日韩精品一区二区在线视频| 国产精品国产一区| 国产丝袜不卡| 国产成人在线中文字幕| 波多野结衣久草一区| 亚州一区二区| 日本高清久久天堂| 亚洲黄色网址| 久久天天躁狠狠躁夜夜躁| 最近高清中文在线字幕在线观看| 日韩欧美二区三区| 伊人中文字幕在线观看| 一色屋精品亚洲香蕉网站| 无码任你躁久久久久久老妇| 日韩国产欧美在线视频| 在线观看17c| 欧美欧美天天天天操| 免费在线看黄色片| 在线视频日韩| 毛片毛片毛片毛片毛片毛片毛片毛片毛片| 亚洲91视频| 国产资源第一页| 极品裸体白嫩激情啪啪国产精品| 日本一本中文字幕| 国产日韩一区二区三区在线| 中文字幕中文字幕在线中一区高清 | 欧美性猛交xxxx乱大交退制版 | 久久久精品日韩| 艹b视频在线观看| 国产精品theporn| 欧美国产日韩激情| 亚洲精华国产欧美| 亚洲天堂av线| 国产成人免费视频网站高清观看视频 | 日韩电影免费观看中文字幕| 一区二区www| 日韩欧美国产精品| 青春草在线观看| 久久夜色精品亚洲噜噜国产mv| 国产丝袜在线观看视频| 国产高清视频一区三区| 一区二区三区日本视频| 国产精品v片在线观看不卡| freexxx性亚洲精品| 日本精品va在线观看| 伊人电影在线观看| 日韩中文字幕在线视频| 天天干天天爱天天操| 欧美一区二区三区白人| 天堂在线中文字幕| www.欧美免费| 九色porny丨国产首页在线| 国产精品久久91| 第四色在线一区二区| 亚洲成人网上| 欧美日韩1080p| 日韩精品你懂的| 99视频有精品| 免费成人蒂法网站| 国产精品国产自产拍在线| 极品久久久久久久| 亚洲国产精品激情在线观看| 精品99在线观看| 精品视频全国免费看| 手机av免费在线观看| 久久在线视频在线| 精品网站在线| 国产精品久久久久久久久久久久 | 日日嗨av一区二区三区四区| 26uuu国产| 国产精品成人午夜| 伦av综合一区| 亚洲国产美女久久久久| 国产写真视频在线观看| 久久精品国产亚洲一区二区| 天堂√中文最新版在线| 2014亚洲精品| 日韩中字在线| 日韩不卡一二区| 天堂久久久久va久久久久| 亚洲啪av永久无码精品放毛片 | 91成人小视频| 五月天丁香综合久久国产| 亚洲一卡久久| 欧美激情一区二区三区p站| 亚洲老司机在线| 在线观看一二三区| 尤物九九久久国产精品的特点| av电影在线观看网址| 1769国产精品| 久久动漫网址| 亚洲熟妇无码一区二区三区| 亚洲国产高清一区二区三区| 久久人人爽人人片| 亚洲少妇最新在线视频| 一区二区美女视频| 最好看的2019年中文视频| 性欧美ⅴideo另类hd| 91av国产在线| 欧美一级一片| 少妇高潮喷水在线观看| 成人精品在线视频观看| 亚洲女优在线观看| 亚洲日本乱码在线观看| 6—12呦国产精品| 最近2019免费中文字幕视频三 | 美女视频一区免费观看| 免费a级黄色片| 色噜噜狠狠色综合欧洲selulu| 国外av在线| 欧美激情影音先锋| 午夜无码国产理论在线| 日本不卡二区高清三区| 午夜久久影院| 五月婷婷激情久久| 国产精品久久久久天堂| 国产美女免费视频| 欧美高清激情视频| 国产日韩三级| 丰满少妇被猛烈进入高清播放| 国内一区二区视频| 久久精品老司机| 日本道色综合久久| 青青青青在线| 国产99久久精品一区二区永久免费| 久久av影视| 极品粉嫩美女露脸啪啪| 久久久久久久综合狠狠综合| 三级黄色在线视频| 91精品国产日韩91久久久久久| 性欧美高清come| 久久婷婷人人澡人人喊人人爽| 三级欧美在线一区| 黄色录像免费观看| 亚洲国产精品久久久| 日本在线中文字幕一区二区三区| 曰韩不卡视频| 成人福利视频在线| 青青艹在线观看| 精品一区二区三区三区| 久久不射影院| 欧美日韩精品免费看| 精品在线一区二区三区| 国产对白videos麻豆高潮| 亚洲天堂色网站| 日韩一区免费| 天天操天天爽天天射| 一区二区三区美女视频| 国产精品乱码久久久| 韩国一区二区电影| 粉嫩av一区二区| 中文字幕一区二区三区四区在线视频 | 久久riav| 国产一区二区看久久| 亚洲中文一区二区| 欧美激情视频免费观看| 日韩激情免费|