1. 如何寫出優(yōu)秀的代碼

        共 2023字,需瀏覽 5分鐘

         ·

        2020-08-01 02:47

        ?

        小閆語錄:不要讓過重的負(fù)擔(dān),在起步時(shí)壓垮你。輕裝上陣,簡化目標(biāo),堅(jiān)持不懈就夠了。

        ?

        寫了太多屎一樣的代碼,終于不臭了!更多精彩文章請關(guān)注公眾號『Pythonnote』或者『全棧技術(shù)精選』

        1.第一坨屎-變量

        為了不讓下任『接盤俠』看到代碼罵娘,我勸你善良。請不要使用如下方式命名變量:

        1.拼音命名(不會英文就去下載個(gè)某道詞典,翻譯一下嘛。name 總比 mingzi 好辨認(rèn)吧?字?jǐn)?shù)還少,還能國際通用)

        2.使用簡單字母命名(a/b等等,別說其他人,過兩天自己都不曉得寫了個(gè)什么鬼)更多精彩文章請關(guān)注公眾號『Pythonnote』或者『全棧技術(shù)精選』

        3.異想天開(不要隨便拍腦袋起名,要做到見名知義??偛荒芤粋€(gè) id 的列表,你叫個(gè) item 吧?xxx_id_list 稍微強(qiáng)一些吧?)

        4.不要命名沖突(最起碼在一個(gè)函數(shù)內(nèi),不能重復(fù)。project 既是生產(chǎn)項(xiàng)目又是測試項(xiàng)目?變量不斷被覆蓋,奇奇怪怪的 bug 就夠你喝一壺的了)

        ?

        這種病的病根兒一般是詞匯量匱乏,治療建議某道翻譯。

        ?

        5.查詢數(shù)據(jù)庫時(shí),變量與字段名、模型類或者表名不一致(查的 Product 就不要叫 Mobiles;查的 name ,就不要叫 leader

        2.第二坨屎-注釋

        為了第二天代碼還認(rèn)識你,請你添加注釋。

        1.一定要添加注釋,最起碼重要的邏輯部分覆蓋到。

        2.注釋要清晰、易懂、簡單明了。

        3.注釋不是流水賬,不是每一行代碼的解釋,而是某一塊邏輯的說明。

        4.對于復(fù)雜的數(shù)據(jù)結(jié)構(gòu)請舉例說明。

        5.每個(gè)函數(shù)的說明文檔起碼要有。更多精彩文章請關(guān)注公眾號『Pythonnote』或者『全棧技術(shù)精選』

        3.第三坨屎-嵌套

        1.不要里三層外三層的 if-else,邏輯判斷可以有,但是一定有更加簡明的表示方法。嵌套的層級太多,不僅難理解,還影響美觀。

        2.簡單的一層 if-else ,有時(shí)三元運(yùn)算符會更加方便。

        3.若想你的程序執(zhí)行效率高一些,就不要循環(huán)套循環(huán)。

        4.無論何時(shí)何地都不要在循環(huán)里面有查詢數(shù)據(jù)庫的語句。也許一次訪問,只需要查詢幾次數(shù)據(jù)庫,但是用戶量大時(shí),能把你數(shù)據(jù)庫搞癱。多使用一些 bulk_create 或者 bulk_update 等等類似的批量操作方法,一次訪問遠(yuǎn)比多次訪問數(shù)據(jù)庫效率高。

        4.第四坨屎-邏輯

        1.請將復(fù)雜的邏輯單獨(dú)抽出來做成函數(shù)或者類,不要讓你的接口內(nèi)部過于復(fù)雜。否則即使有注釋,也太晦澀難懂。

        ?

        將復(fù)雜邏輯抽調(diào)后,不光能被其他地方調(diào)用,還能使你的接口清晰明了。

        ?

        2.實(shí)現(xiàn)一個(gè)功能,肯定不止一種方法,要不斷的去優(yōu)化,去尋找一條最快最簡單的路徑。

        ?

        當(dāng)然優(yōu)化的前提是存在,即使用笨辦法也得先實(shí)現(xiàn)再說。

        ?

        5.第五坨屎-校驗(yàn)

        1.一定要添加必要的校驗(yàn)操作!一定要添加必要的校驗(yàn)操作!一定要添加必要的校驗(yàn)操作!重要的事情說三遍,想要保證程序的健壯性,永遠(yuǎn)不要相信用戶的任何操作?。ㄓ脩舨皇情_發(fā)人員,一定會做出你想不到的操作。為了保證程序安全、數(shù)據(jù)安全,請?zhí)砑有r?yàn))更多精彩文章請關(guān)注公眾號『Pythonnote』或者『全棧技術(shù)精選』

        2.常用的校驗(yàn)有:為空校驗(yàn)、長度校驗(yàn)、規(guī)則校驗(yàn)、常識性校驗(yàn)(最起碼上限不能低于下限)、業(yè)務(wù)校驗(yàn)、邊界情況校驗(yàn)等。

        6.第六坨屎-單元測試

        1.自動化遠(yuǎn)比人工可靠。

        ?

        不是說人工偷懶,而是重復(fù)的點(diǎn)點(diǎn)點(diǎn)難免會有遺漏的情況。添加單元測試,就要可靠的多。

        ?

        2.單元測試并不是負(fù)擔(dān),當(dāng)你重構(gòu)代碼時(shí),你會發(fā)現(xiàn)它的重要作用!

        ?

        有單元測試做保障,測試通過就代表重構(gòu)成功。不需要重復(fù)界面點(diǎn)點(diǎn)點(diǎn),太浪費(fèi)時(shí)間。當(dāng)然前提是:你的單元測試是可靠的。

        ?

        3.重要的方法、邏輯,單元測試一定要覆蓋到,它會保證你的程序安全上線!更多精彩文章請關(guān)注公眾號『Pythonnote』或者『全棧技術(shù)精選』

        4.code_review 只能是看規(guī)范,看邏輯,肉眼能核對運(yùn)行結(jié)果嗎?提交代碼先跑一遍單元測試,是否可靠的多?

        ?

        這就體現(xiàn)出來自動化測試的好處了,最簡單的方法,在 GitLab 上集成單元測試,這樣提交代碼后自動運(yùn)行單元測試,不通過肯定不會合并到 master ?分支,保證線上環(huán)境安全。

        ?

        7.第七坨屎-重用

        1.將公共的代碼抽調(diào)出來,做成公共模塊、通用組件。「減少程序代碼量」,讓程序起飛。

        2.重用的優(yōu)點(diǎn)不光是省代碼這么簡單,如果相同的代碼這也有,那也有,出錯怎么辦?改幾遍?「便于維護(hù)」

        3.將常用的數(shù)字抽出一個(gè)常數(shù)文件,其他地方調(diào)用變量的形式使用,這樣維護(hù)一個(gè)常數(shù)文件比維護(hù)分散在各個(gè)角落的代碼要好的多。

        更多精彩文章請關(guān)注公眾號『Pythonnote』或者『全棧技術(shù)精選』






        排版:小閆

        圖片素材:小閆

        文案:小閆

        長按掃描下方二維碼即刻關(guān)注小閆




        瀏覽 48
        點(diǎn)贊
        評論
        收藏
        分享

        手機(jī)掃一掃分享

        分享
        舉報(bào)
        評論
        圖片
        表情
        推薦
        點(diǎn)贊
        評論
        收藏
        分享

        手機(jī)掃一掃分享

        分享
        舉報(bào)
          
          

            1. 日骚逼 | 蜜芽成人网| 多p混交群体交乱嗯啊3 | 一级黄片直播 | 女人被舔荫蒂舒服极了的视频 |