成人午夜视频全免费观看高清-秋霞福利视频一区二区三区-国产精品久久久久电影小说-亚洲不卡区三一区三区一区

網(wǎng)站開發(fā)代碼的可讀性原則

2021-05-12    分類: 網(wǎng)站建設(shè)

作為一名IT工程師,想要擁有良好的代碼素養(yǎng),首先要讓自己的代碼可維護(hù),不給別人的維護(hù)帶來巨大的成本和工作量,其次盡量保證代碼的美觀可讀,整潔的代碼人見人愛,如同閱讀一本好書,令人心情愉悅。對(duì)于可讀性,代碼應(yīng)遵循以下三條原則:
    1.可讀性基本定理
    可讀性基本定理——“代碼的寫法應(yīng)當(dāng)使別人理解它所需的時(shí)間最小化”。
    代碼風(fēng)格和原則不是一概而論的,我們經(jīng)常需要對(duì)一些編碼原則和方案進(jìn)行取舍,例如對(duì)于三元表達(dá)式的取舍,當(dāng)我們覺得兩種方案都占理時(shí),那么唯一的評(píng)判標(biāo)準(zhǔn)就是可讀性基本定理,無論寫法多么的高超炫技,最好的代碼依舊是讓人第一時(shí)間能夠理解的代碼。
    2. 有意義的名稱
    代碼的可讀性絕大部分依賴于變量和函數(shù)的命名,一個(gè)好的名稱能夠一針見血地幫助維護(hù)者理解邏輯,如同寫文章中的“文筆”,文筆優(yōu)異者總能將故事娓娓道來,引人入勝。
    不過要起好名稱還是很難的,尤其是我們不是以英語為母語,更是添加了一層障礙,有些人認(rèn)為糾結(jié)在名稱上會(huì)導(dǎo)致效率變低,開發(fā)第一時(shí)間應(yīng)該完成需求的開發(fā)。這樣說并沒有錯(cuò),我們?cè)陂_發(fā)過程中應(yīng)當(dāng)專注于功能邏輯,但不要完全忽視命名,所謂“文筆”是需要鍛煉的,思考的越多,命名就會(huì)愈加的水到渠成,到后來也就不太會(huì)影響工作效率了。
    在這里推薦鮑勃大叔提到的童子軍規(guī),每一次看自己的代碼,都進(jìn)行一次重構(gòu),最簡(jiǎn)單的重構(gòu)便是改名,也許一開始覺得命名還比較貼合,但邏輯越寫越不符合初始的命名了,當(dāng)回顧代碼時(shí),我們可以順手對(duì)變量和方法進(jìn)行重新命名,現(xiàn)代編輯工具也很容易做到這一點(diǎn)。
   文不對(duì)題的命名是最可怕的,如:
網(wǎng)站開發(fā)代碼
       這個(gè)函數(shù)被命名為check*開頭的,本意是檢測(cè)課程時(shí)間是否沖突,但內(nèi)部邏輯卻包含了支付整個(gè)流程,此時(shí)對(duì)于調(diào)用者來說,如果不去細(xì)看內(nèi)部邏輯,很有可能就會(huì)錯(cuò)誤的認(rèn)為check函數(shù)沒有副作用導(dǎo)致事故發(fā)生。
3.適當(dāng)?shù)淖⑨尵S護(hù)
    注釋是一個(gè)比較有爭(zhēng)議性的話題,有人認(rèn)為可讀的函數(shù)變量就很清晰,不需要額外的注釋,且注釋有不可維護(hù)性,如:
網(wǎng)站開發(fā)代碼
      實(shí)際上,這個(gè)字段的含義早已發(fā)生了改變,但由于修改者只修改了邏輯,并沒有注意到這一行注釋,導(dǎo)致這個(gè)老注釋提供了錯(cuò)誤信息,此時(shí)的注釋不僅變成了無效注釋,甚至?xí)?dǎo)致維護(hù)人的誤解,造成bug的產(chǎn)生。
    對(duì)于這種情況,要么維護(hù)注釋,要么在注釋里面注明接口文檔,維護(hù)文檔,在其他情況下,適當(dāng)?shù)淖⑨屖怯斜匾模瑢?duì)于復(fù)雜的邏輯,如果有一個(gè)簡(jiǎn)練的注釋,對(duì)于代碼可讀性的幫助是極大的,但有些不必要的注釋可以去掉,注釋的取舍關(guān)鍵在于可讀性基本定理,如:
網(wǎng)站開發(fā)代碼
      對(duì)于上述邏輯來說,雖然通過變量可以大致猜出功能含義,但一眼看上去就能清晰掌握邏輯結(jié)構(gòu),歸功于注釋的簡(jiǎn)明與清晰。

分享標(biāo)題:網(wǎng)站開發(fā)代碼的可讀性原則
網(wǎng)頁網(wǎng)址:http://jinyejixie.com/news28/113378.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供微信小程序、網(wǎng)站排名、電子商務(wù)、網(wǎng)站設(shè)計(jì)、網(wǎng)站策劃企業(yè)建站

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

營(yíng)銷型網(wǎng)站建設(shè)
湘潭市| 湘潭县| 三门峡市| 分宜县| 叶城县| 茌平县| 突泉县| 平邑县| 石楼县| 嵊州市| 两当县| 榕江县| 惠来县| 铁力市| 同仁县| 新沂市| 崇文区| 诸暨市| 彭山县| 青冈县| 驻马店市| 基隆市| 克什克腾旗| 甘肃省| 祁东县| 赤水市| 特克斯县| 洪洞县| 永丰县| 林西县| 馆陶县| 贵德县| 郸城县| 松阳县| 左云县| 山西省| 锡林郭勒盟| 绍兴市| 宜兴市| 阿图什市| 普定县|