自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

編寫(xiě)干凈代碼的重要性

譯文
開(kāi)發(fā) 后端
可理解性始于我們編寫(xiě)代碼的方式。作為開(kāi)發(fā)人員,有必要花時(shí)間進(jìn)行重構(gòu),以確保我們編寫(xiě)的代碼易于被同事理解,還要易于被最終在下個(gè)月、下一年甚至十年后調(diào)試我們代碼的程序員理解。

[[339389]]

【51CTO.com快譯】在金融行業(yè),可理解性指這個(gè)概念:應(yīng)該以一種使讀者能夠快速輕松地理解的方式呈現(xiàn)信息。要做到可理解性,財(cái)務(wù)系統(tǒng)必須完整、簡(jiǎn)潔、清晰且有條理。

需要將可理解性概念引入到軟件世界。

我們已看到,微服務(wù)、云和分布式系統(tǒng)的興起都增添了現(xiàn)代系統(tǒng)的復(fù)雜性。這意味著我們的開(kāi)發(fā)團(tuán)隊(duì)必須更努力地工作,才能高效構(gòu)建可以由越來(lái)越多的開(kāi)發(fā)人員輕松維護(hù)的應(yīng)用程序。

我們?nèi)绾尉帉?xiě)代碼?

可理解性始于我們編寫(xiě)代碼的方式。作為開(kāi)發(fā)人員,有必要花時(shí)間進(jìn)行重構(gòu),以確保我們編寫(xiě)的代碼易于被同事理解,還要易于被最終在下個(gè)月、下一年甚至十年后調(diào)試我們代碼的程序員理解。除此之外,只有內(nèi)聯(lián)注釋和外部文檔完整、簡(jiǎn)潔、清晰且有條理,才應(yīng)批準(zhǔn)變更請(qǐng)求。

  • 完整:含有開(kāi)發(fā)人員理解某個(gè)組件的預(yù)期行為所需要的所有信息。
  • 簡(jiǎn)潔:以一種易于掃描以查找重點(diǎn)內(nèi)容,且不太麻煩或重復(fù)的方式來(lái)加以編寫(xiě);以一種含有相關(guān)信息,沒(méi)有太多其他信息的方式來(lái)加以編寫(xiě)。
  • 清晰:格式和介質(zhì)易于掃描。在軟件開(kāi)發(fā)界,這通常轉(zhuǎn)化為內(nèi)聯(lián)注釋和維基頁(yè)面。
  • 有條理:以一種使讀者易于相互對(duì)照信息的方式呈現(xiàn)信息。精心維護(hù)的維基頁(yè)面或者與IntelliSense工具或源代碼控制管理工具集成通常在這方面很有效。

文檔和注釋上花點(diǎn)時(shí)間似乎會(huì)減慢某項(xiàng)功能的開(kāi)發(fā)。但正如有人曾說(shuō)過(guò),如果您有六小時(shí)的時(shí)間來(lái)砍樹(shù),花前四個(gè)時(shí)間來(lái)磨斧頭是明智的。前期工作將使我們的應(yīng)用程序?qū)?lái)調(diào)試和維護(hù)起來(lái)要容易得多。因?yàn)槿绻麘?yīng)用程序變得錯(cuò)誤過(guò)多,太難支持,交接過(guò)程變得太耗時(shí)、效率低下,我們到頭來(lái)會(huì)把整個(gè)迭代開(kāi)發(fā)周期(sprint)耗費(fèi)在改進(jìn)文檔、單元測(cè)試和日志記錄等方面上。

在微服務(wù)和分布式系統(tǒng)這個(gè)復(fù)雜的世界,開(kāi)發(fā)人員花在閱讀代碼上的時(shí)間要比花在編寫(xiě)代碼上的時(shí)間多10倍,因此我們編寫(xiě)的代碼干凈、很容易展示給他人來(lái)得無(wú)比重要。

部署代碼后

即使您編寫(xiě)了干凈、文檔完備的代碼,在云和分布式系統(tǒng)世界,仍然很難預(yù)測(cè)該代碼在部署后會(huì)有怎樣的行為。干凈的代碼好比詳細(xì)的烹飪食譜:它清晰地闡明了應(yīng)該發(fā)生的事情,您在準(zhǔn)備飯菜過(guò)程中會(huì)常常查閱食譜,但是食譜可能無(wú)法知道烤箱的當(dāng)前溫度或您如何混合了配料。

為了使我們的應(yīng)用程序真正易于理解,我們必須能夠?qū)崟r(shí)觀察代碼。日志記錄、跟蹤、監(jiān)測(cè)、錯(cuò)誤跟蹤和性能分析之類(lèi)的工具可以告訴我們代碼在運(yùn)行時(shí)應(yīng)用程序的實(shí)際行為。這與一開(kāi)始編寫(xiě)干凈的代碼一樣重要,因?yàn)殡m然閱讀靜態(tài)代碼對(duì)于理解應(yīng)用程序至關(guān)重要,但我們也知道,它永遠(yuǎn)無(wú)法完全代表應(yīng)用程序在生產(chǎn)環(huán)境中的實(shí)際行為。

這方面的一個(gè)典例就是配置。如果您的代碼存在基于配置的大規(guī)模切換情形,那么僅僅閱讀代碼可以表明可能出現(xiàn)什么情況。想了解實(shí)際情況,您必須了解運(yùn)行時(shí)在使用的配置。

還要記住,到頭來(lái)目的是不僅限于觀察系統(tǒng),而是進(jìn)入到我們真正了解系統(tǒng)的階段。這意味著我們需要集成到開(kāi)發(fā)環(huán)境中的工具、在所編寫(xiě)代碼的上下文中檢索數(shù)據(jù)的工具以及深入動(dòng)態(tài)地查看代碼在實(shí)際環(huán)境下如何運(yùn)行的工具。

大多數(shù)公司還沒(méi)有抵達(dá)成功彼岸。如果您具備了可觀察性,已經(jīng)領(lǐng)先于大多數(shù)公司。但是觀察到問(wèn)題后,仍需要進(jìn)行額外的工作才能真正深入了解應(yīng)用程序中發(fā)生的情況。生產(chǎn)級(jí)調(diào)試器就是一個(gè)典例,這種工具解決了可理解性問(wèn)題;我預(yù)計(jì)在接下來(lái)幾個(gè)月,這一類(lèi)工具的討論會(huì)越來(lái)越多。

原文標(biāo)題:The Importance of Writing Clean Code,作者:Liran Haimovitch

【51CTO譯稿,合作站點(diǎn)轉(zhuǎn)載請(qǐng)注明原文譯者和出處為51CTO.com】

責(zé)任編輯:龐桂玉 來(lái)源: 51CTO
相關(guān)推薦

2023-09-19 23:30:25

單元測(cè)試代碼

2021-02-04 06:30:26

Python編程語(yǔ)言

2023-10-24 11:07:57

2010-07-30 16:28:06

2022-06-07 09:30:35

JavaScript變量名參數(shù)

2011-07-05 18:30:44

站內(nèi)優(yōu)化

2020-07-15 14:51:39

代碼C+開(kāi)發(fā)

2013-08-08 10:10:06

備份策略全備份增量備份

2017-12-29 10:14:48

IT項(xiàng)目

2009-12-25 15:00:48

WPF軟件

2023-03-27 15:05:10

Python技巧

2021-06-29 20:50:29

端點(diǎn)安全網(wǎng)絡(luò)安全數(shù)據(jù)安全

2013-05-06 10:49:59

虛擬化IT戰(zhàn)略

2024-04-28 11:40:52

2013-08-23 14:07:45

磁盤(pán)分區(qū)

2018-11-06 09:31:34

物聯(lián)網(wǎng)分析AoT物聯(lián)網(wǎng)

2022-04-11 09:43:06

物聯(lián)網(wǎng)IOT

2024-03-20 14:51:03

2023-09-08 07:01:08

機(jī)器學(xué)習(xí)監(jiān)控ML

2009-11-25 17:36:38

PHP函數(shù)includ
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)