中文字幕日韩精品一区二区免费_精品一区二区三区国产精品无卡在_国精品无码专区一区二区三区_国产αv三级中文在线

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

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

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

分享標(biāo)題:網(wǎng)站開發(fā)代碼的可讀性原則
網(wǎng)頁網(wǎng)址:http://www.rwnh.cn/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)請盡快告知,我們將會在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

營銷型網(wǎng)站建設(shè)
三台县| 汾阳市| 昌图县| 哈尔滨市| 双流县| 邵东县| 土默特左旗| 射阳县| 稻城县| 荣成市| 墨玉县| 郴州市| 阳东县| 盐津县| 镇坪县| 彭山县| 正宁县| 克东县| 广汉市| 河东区| 共和县| 文登市| 襄垣县| 威远县| 碌曲县| 方城县| 临洮县| 晋宁县| 蓬溪县| 郓城县| 佛冈县| 鲁山县| 和平区| 马公市| 印江| 定西市| 奉贤区| 哈尔滨市| 高安市| 盐池县| 扎兰屯市|