日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

可读性代码:为什么、怎样以及什么时候

發(fā)布時間:2025/3/15 编程问答 23 豆豆
生活随笔 收集整理的這篇文章主要介紹了 可读性代码:为什么、怎样以及什么时候 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

如果你對開發(fā)團隊進行問卷,大多數(shù)人會說“我們想要可讀性高的代碼”。你甚至發(fā)現(xiàn)有些人認為可讀性比功能更重要。但是,當要求人們對可讀性做出定義時,他們的意見就會出現(xiàn)分歧。Laura Savino在Explore DDD 2018大會上的演講就是以這個作為前提。她闡述了為什么我們想要可讀性高的代碼、可讀性究竟意味著什么,以及什么時候必須優(yōu)先考慮可讀性。

\\

Savino擁有小學法語教師的背景,后來成為iOS開發(fā)人員和導(dǎo)師,因此,她能夠提供更多有關(guān)比較自然語言和編程語言的見解。剛開始學習新編程語言的程序員通常先學寫一個基本的“Hello,world!”應(yīng)用程序。同樣,“Bonjour”、“Hola”或“Guten-tag”可能是學習法語、西班牙語或德語的人學會的第一個單詞。

\\

正如程序員將迅速學會“Hello,world!”,口語也會很快進入中間階段。Savino舉了一個例子,在法語課上問一個同學是否愿意在課后和你一起去喝咖啡(Voulez-vous prendreuncaféavelve moiaprèslescours?)。即使他拒絕了(Désolé,je ne peux pas prendredecaféprèslescours),在別人看來這是有史以來最無聊的談話,但你自己卻感覺飄飄然:你說了一個句子,然后有人理解它,因為你收到了適當?shù)幕貞?yīng),而你了解回應(yīng)是什么意思。這就像在iOS應(yīng)用程序中顯示數(shù)據(jù)一樣——它不是那么吸引人,但當你第一次成功完成這個任務(wù)時,你的腎上腺素會飆升。

\\

學習語言的高級階段超越了對語法的思考。你的目標已經(jīng)超越了只是相互理解,你現(xiàn)在需要深入細節(jié)。這時候編程語言與人類語言之間的類比開始不再奏效,或者至少需要更深入的分析。

\\

在進行代碼評審時,經(jīng)常會有人說,“我無法理解這些代碼”,而另一個人(可能是作者)反駁說,“但這種方式更具可讀性”。Savino用這個例子來說明“可讀性取決是誰在閱讀代碼”。讓可讀性變得復(fù)雜的是代碼有兩種不同的受眾:其他開發(fā)人員和計算機。因為計算機如果無法讀懂我們的代碼,它們很快就會告訴我們,我們自然會基于計算機的反饋做出調(diào)整。我們承認這種偏見的存在,有時候會在代碼周圍加上人類可讀的注釋。但是,Savino警告說,“注釋并不能帶來具備可讀性的代碼”。

\\

Savino解釋了解讀文本或代碼與流利閱讀之間的區(qū)別。她使用E. E. Cummings的詩“when serpents bargain for the right to squirm”作為例子,一個美麗而復(fù)雜的作品需要閱讀多次才能真正開始理解其中的含義。當你在閱讀代碼時遇到不熟悉的術(shù)語時需要經(jīng)歷類似的過程——查找一個,然后是下一個,然后是下一個,你就像進了一個兔子洞,直到你忘記了最初想要理解的內(nèi)容為止。Savino警告說,雖然可以從深刻的理解中獲得快樂,但“寫詩與開發(fā)軟件不是一回事”。

\\

相反,流利的閱讀是一種快速而正確的理解,不會占用你的工作記憶。多年的閱讀經(jīng)驗讓你能夠快速瀏覽文章并仍然能夠理解其中的內(nèi)容。Savino認為,閱讀可讀性高的代碼也是如此。當代碼很容易閱讀時,大腦可以騰出一部分發(fā)現(xiàn)其中可能出現(xiàn)的問題,讓代碼評審更加高效。

\\

在給出了高可讀性代碼為什么如此重要的原因之后,Savino探討了如何寫出高可讀性代碼的技術(shù)。在與語言不流利的談話對象溝通時應(yīng)該避免使用俚語,并使用明確的表達方式。在代碼中,方法的命名可以用beginApp(),而不是releaseTheHounds(),并在每一步給出變量和調(diào)用結(jié)果,而不是將函數(shù)調(diào)用鏈接在一起。

\\

Savino還探討了我們的本能模式匹配能力。在抽象層面,需要使用“斜視測試”來查看代碼的一般性結(jié)構(gòu),看看是否有任何異常的東西。在更低的層面,盡量避免使用看起來相似的字符和符號,包括!、I、l和1,這些可能會導(dǎo)致反模式匹配。最后,如果你正在做一些與眾不同的東西,那就以一種可以讓它從脫穎而出的命名方式。

\\

對于作家來說,最好的建議是“了解你的受眾”。Savino說,當你的受眾是閱讀你的代碼的人時,你應(yīng)該更進一步,并信任他們。當有人告訴你代碼不夠清晰時,相信他們,然后問他們因為缺少了哪些信息導(dǎo)致代碼難以閱讀。用他們的反饋來提高代碼的可讀性。

\\

最后,Savino提到了一些可讀性需要成為主要驅(qū)動因素的例子。簡單地說,一段代碼越重要,它的可讀性就應(yīng)該越高。Savino引用了美國宇航局噴氣推進實驗室的編碼指南,該指南指出,“任務(wù)關(guān)鍵代碼不應(yīng)該只是可以辯證的,還必須是絕對正確的”。與人類溝通有關(guān)的一個更為實際的場景是火災(zāi)逃生標志,在逃離火災(zāi)時,人們不需要額外的努力看懂這些標志。

\\

你的團隊應(yīng)該針對是否以及何時需要可讀代碼展開討論。你的目標應(yīng)該是所有團隊成員都能流利地閱讀代碼。Savino最后鼓勵每個人進行“更少的解讀,更多的創(chuàng)造”。

\\

查看英文原文:Readable Code - Why, How and When You Should Write It

總結(jié)

以上是生活随笔為你收集整理的可读性代码:为什么、怎样以及什么时候的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 国产日韩一区二区在线观看 | 欧美日韩在线国产 | 欧美成人综合 | 暖暖日本视频 | 成人777| 另类少妇人与禽zozz0性伦 | 黄色麻豆视频 | av色网站 | 99热97 | 免费福利视频网站 | 韩国三级在线播放 | 国产永久免费 | 又黄又色又爽的视频 | jizz韩国| 欧美日韩操 | 性色视频在线观看 | 97色吧| 日韩aa视频 | 日b视频免费看 | 色婷婷av一区二区三区gif | 国产日韩精品中文字无码 | 欧美三级在线播放 | 黄色国产一区二区 | 日本三级黄色录像 | 亚洲我射 | 亚洲精品wwww | 秋霞网一区二区三区 | 久久一区欧美 | 日韩在线二区 | 999精品在线视频 | 九色视频91| 免费a网站 | 日韩精品视频在线免费观看 | 2019中文字幕在线免费观看 | 黄色高潮 | 在线精品福利 | 日本四级电影 | 在线观看 一区 | 日本伦理中文字幕 | av综合导航 | 国产在线精 | 超碰色偷偷 | 亚洲视频在线观看视频 | 久久精品国产一区二区电影 | 影音先锋欧美资源 | 三级亚洲欧美 | 男女爱爱福利视频 | www男人的天堂| 男女免费毛片 | 97se亚洲 | 一本色道久久综合亚洲精品酒店 | 国产超碰精品 | 色吊妞 | 国产丝袜第一页 | 超碰在线最新地址 | 免费黄网站在线看 | 公交顶臀绿裙妇女配视频 | 男人靠女人免费视频网站 | 乌克兰少妇性做爰 | 精品一区在线看 | gogo人体做爰大胆视频 | 91麻豆映画传媒 | 天堂8在线 | 国内福利视频 | 人妖ts福利视频一二三区 | 丁香花电影高清在线阅读免费 | 日日爽天天| 天天在线观看 | 日韩一区二区三区免费在线观看 | 这里只有精品在线播放 | 亚洲aⅴ网站 | 亚洲色图.com| 国产精品无人区 | 成年人晚上看的视频 | 超碰在线看 | 日本一本一道 | 免费视频国产 | 国产精品伦子伦免费视频 | 成人免费91 | 日韩最新中文字幕 | 亚洲影视网 | 亚洲精品乱码久久久久久蜜桃图片 | 国产精品久久久久久久久久久久久久 | 黄页嫩草 | 国产三级午夜理伦三级 | 天天视频入口 | 日韩成人午夜电影 | 大学生av | 热99| 免费观看国产精品视频 | 在线观看亚洲网站 | 在线观看免费高清在线观看 | 波多野结衣欧美 | 一区二区自拍偷拍 | 久久久久国产一区二区三区潘金莲 | 美女扒开下面让男人捅 | 成人久久18免费网站图片 | 自拍天堂 | 国精品一区二区 |