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

編程中有哪些好習(xí)慣一開始就值得堅持?

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í)慣。


斐波那契程序員:每天都在修復(fù)昨天和前天的 bug

你是否有過這樣的經(jīng)歷:代碼刪了又寫,寫了又刪。在敲代碼之前,先問自己一個問題:我寫下的這行代碼是真的能用上的嗎?會不會有邏輯漏洞?思考清楚業(yè)務(wù)流程之后再寫代碼,往往事半功倍。

以筆者親身經(jīng)歷過的一個項目為例,項目已經(jīng)做了一年, 除了三方庫,代碼量共有兩萬行,平均算下來,開發(fā)者一年來每天只需要寫 55 行代碼。這樣看來,開發(fā)者的每一天都差不多是”很閑的“,然而開發(fā)者每天都忙得不得了,從早到晚都在碼代碼。這些代碼量如果純粹敲出來,最多十個小時就可以完成。我們應(yīng)該用大部分的時間思考代碼邏輯,不要花大量時間將代碼刪了又寫,寫了又刪。磨刀不誤砍柴工,事先做好全面的考慮,爭取讓寫下的每一行代碼都有價值。

程序員的時間分配

梳理代碼邏輯是有一定方法的,例如:



  • 當(dāng)你需要添加一個新功能,突然發(fā)現(xiàn)程序耦合嚴(yán)重,導(dǎo)致新功能不是那么好添加,那就先將程序重構(gòu)到可以方便的添加新功能
  • 當(dāng)你閱讀代碼時,發(fā)現(xiàn)程序可讀性低,導(dǎo)致理解上的困難,顯然代碼還不夠清晰,先將其重構(gòu)到一眼能夠看出結(jié)構(gòu)。
  • 你找到一種更好的實現(xiàn)方式,千萬不要因為現(xiàn)有的代碼仍然可用就置之不理。嘗試將你的想法實現(xiàn)出來。即使失敗了,你也會更能理解為什么代碼是現(xiàn)在這個樣子。
    • PS:關(guān)于重構(gòu)的更多知識可以閱讀 Martin Fowler 所著的《重構(gòu)改善既有代碼的設(shè)計》,軟件開發(fā)不朽的經(jīng)典。


      年輕時,我曾在網(wǎng)上問一個命令行怎么寫,有人教我 rm -rf / ...

      如果程序中用到數(shù)據(jù)庫操作,一定要記得定時備份。數(shù)據(jù)庫備份有諸多好處:可以防止數(shù)據(jù)丟失,可以在程序出錯時方便數(shù)據(jù)回滾。而且它并不需要太多的成本,只需要寫個腳本完成定時自動備份,并刪除過老的備份數(shù)據(jù)即可。如果數(shù)據(jù)庫沒有做備份,而數(shù)據(jù)庫又被誤操作刪除了的話,那就等同于


      同樣,代碼也需要及時備份,使用版本管理系統(tǒng)可以解決這個問題。用上 Git,隨時 commit,丟失代碼的情況幾乎不可能發(fā)生。


      寫一份完善的 README

      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)

      h5響應(yīng)式網(wǎng)站建設(shè)
      广德县| 清徐县| 黄山市| 阿鲁科尔沁旗| 东海县| 崇阳县| 松江区| 横峰县| 华蓥市| 十堰市| 临沂市| 泰顺县| 星子县| 东阳市| 宁城县| 哈巴河县| 桃园县| 恭城| 丘北县| 雷波县| 长丰县| 巴彦淖尔市| 巨鹿县| 资源县| 东乌珠穆沁旗| 凌海市| 乐山市| 桐城市| 陆川县| 丹凤县| 康平县| 获嘉县| 都匀市| 嘉祥县| 巧家县| 天镇县| 石屏县| 义乌市| 东至县| 竹山县| 凤城市|