2021-02-16 分類: 網(wǎng)站建設(shè)
規(guī)范的命名對于閱讀程序是如此重要,本文開篇就不得不提到它。在閱讀代碼時,理解一個變量和函數(shù)都是從名字開始的。它是什么?它的職責(zé)是什么?這些問題從名字就應(yīng)該看出來,如果名稱需要注釋來補(bǔ)充,那就不算是好名字。
例如:將變量名
修改為:
將函數(shù)名
修改為:
寧可名字取長一點,也不要起個模糊的名字。一個清楚的變量名還會帶來可搜索的好處。即使在寫二分算法時,也盡量別用"l"和"r"來指代左右邊界,換成"left"和"right"會更好。
不過,變量名也并非越長越好,去除變量名中的冗余也是一個好習(xí)慣。Variable 一詞永遠(yuǎn)不應(yīng)當(dāng)出現(xiàn)在變量名中,Table 一詞永遠(yuǎn)不應(yīng)當(dāng)出現(xiàn)在表名中。 nameString 與 name 沒區(qū)別,moneyAmount 與 money 沒區(qū)別, customerInfo 與 customer 沒區(qū)別, theMessage 也與 message 沒區(qū)別。
命名風(fēng)格應(yīng)該保持統(tǒng)一,每個概念對應(yīng)一個詞。如果一堆代碼中既有 Controller,又有 Manager,還有 Driver,Presenter,就會令人困惑:他們之間有什么區(qū)別?為什么不全用 Controller?如果同一概念可被多個詞語描述,請確定其中一個名字,并在你的代碼中一以貫之。
總之,取一個精準(zhǔn)的名字是一名優(yōu)秀程序員的基本功。從一開始學(xué)習(xí)編程時,每次取名都應(yīng)仔細(xì)思考,切不可草草了事。
同樣的代碼,僅僅是加上空格與縮進(jìn)就能看起來更美觀?,F(xiàn)代化的 IDE 都有代碼格式化快捷鍵,在代碼敲完后隨時格式化,并去掉多余的空行,是一個讓代碼保持美觀的好習(xí)慣。
你是否有過這樣的經(jīng)歷:代碼刪了又寫,寫了又刪。在敲代碼之前,先問自己一個問題:我寫下的這行代碼是真的能用上的嗎?會不會有邏輯漏洞?思考清楚業(yè)務(wù)流程之后再寫代碼,往往事半功倍。
以筆者親身經(jīng)歷過的一個項目為例,項目已經(jīng)做了一年, 除了三方庫,代碼量共有兩萬行,平均算下來,開發(fā)者一年來每天只需要寫 55 行代碼。這樣看來,開發(fā)者的每一天都差不多是”很閑的“,然而開發(fā)者每天都忙得不得了,從早到晚都在碼代碼。這些代碼量如果純粹敲出來,最多十個小時就可以完成。我們應(yīng)該用大部分的時間思考代碼邏輯,不要花大量時間將代碼刪了又寫,寫了又刪。磨刀不誤砍柴工,事先做好全面的考慮,爭取讓寫下的每一行代碼都有價值。
程序員的時間分配
梳理代碼邏輯是有一定方法的,例如:
PS:關(guān)于重構(gòu)的更多知識可以閱讀 Martin Fowler 所著的《重構(gòu)改善既有代碼的設(shè)計》,軟件開發(fā)不朽的經(jīng)典。
如果程序中用到數(shù)據(jù)庫操作,一定要記得定時備份。數(shù)據(jù)庫備份有諸多好處:可以防止數(shù)據(jù)丟失,可以在程序出錯時方便數(shù)據(jù)回滾。而且它并不需要太多的成本,只需要寫個腳本完成定時自動備份,并刪除過老的備份數(shù)據(jù)即可。如果數(shù)據(jù)庫沒有做備份,而數(shù)據(jù)庫又被誤操作刪除了的話,那就等同于
同樣,代碼也需要及時備份,使用版本管理系統(tǒng)可以解決這個問題。用上 Git,隨時 commit,丟失代碼的情況幾乎不可能發(fā)生。
github 上有非常多的好項目,無一例外,他們都有一份完善的 README。 README 是程序的門面,有助于別人及時發(fā)現(xiàn)你寫的好項目(不要奢望每個人都有閑情逸致來閱讀你的源碼)。況且 README 文檔的好處不止于此,它還可以幫助自己梳理邏輯,理清思路。
寫好 README 之后,隨著項目的演進(jìn)及時更新它,不會花太多時間,但能讓你隨時都對項目有個整體的把握。絕對值得一試。
分享文章:編程中有哪些好習(xí)慣一開始就值得堅持?
鏈接URL:http://jinyejixie.com/news9/101209.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供外貿(mào)網(wǎng)站建設(shè)、虛擬主機(jī)、服務(wù)器托管、ChatGPT、企業(yè)網(wǎng)站制作、網(wǎng)站策劃
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容