閱讀原文
1. 代碼應(yīng)當(dāng)易于理解唯一標(biāo)準(zhǔn):讓別人理解的時間最小
2. 把信息裝到名字里選擇專業(yè)的詞
避免泛泛的名字
使用具體的名字代替抽象的名字
為名字攜帶更多的信息
名字的作用域越大,最好名字越長
丟掉沒用的詞
單詞 | 更多選擇 |
---|---|
send | deliver, dispatch, announce, distribute,route |
find | search, extract, locate, recover |
start | launch, create, begin, open |
make | create, set up, build, generate, compose, add ,new |
我之前學(xué)設(shè)計的時候看過一本書,寫給大家看的設(shè)計書(第3版)將這本書中的設(shè)計審美原理應(yīng)用到寫代碼上,真實十分貼切,如果你讀過此書,你的審美能力會大幅提高。
對齊
重復(fù)
對比
親密性 按照親密關(guān)系分段
順序
4. 寫什么樣的注釋不要寫一眼就能看懂的注釋,類似于此地?zé)o銀三百兩
與其寫注釋,不如把變量名函數(shù)名寫好,可以從名字中理解
記錄你的思想
加入評論
指出哪里有陷阱,需要注意
言簡意賅,不要啰嗦
不要使用不明確的代詞,不要像像算命先生說話,如何解釋都對
5. 可讀性控制流追求最小理解時間,而不是最少代碼行
盡可能提前return結(jié)果
少點嵌套,要盡可能扁平化
理解執(zhí)行流程。有些是連續(xù)執(zhí)行。有些是隨時都可能執(zhí)行,像事件回調(diào)
避免使用while, 一般我們循環(huán)都是為了遍歷數(shù)組,為什么不用forEach呢?
6. 拆分超長表達式拆分超長的表達式
拆分巨大的語句
盡量把邏輯包裹在函數(shù)中,不要重復(fù)你自己 DRY
7. 變量與可讀性減少變量,變量越少越好
減少中間結(jié)果,垂直消費
減少用于控制流的變量
縮小變量的作用域
用到變量再定義,不要提前定義,不然還要隨時想著,之前定義的變量是用干嘛的呢?
8. 重構(gòu)抽取不相關(guān)的自子問題
抽取各種配置性的變量在一起,他們都是配置
盡量寫純函數(shù)
創(chuàng)建大量通用代碼
打造自己的武器裝備庫
簡化接口傳參
過猶不及,不要太苛刻
9. 一次只做一件事 10. 少寫代碼最好的代碼就是沒有代碼
別費神實現(xiàn)那個功能,你不會需要的
質(zhì)疑和拆分的需求
保持小代碼庫
刪除沒用的代碼
刪除沒有的注釋
11. 調(diào)試盡可能將錯誤打印出來,不要隱藏
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://m.hztianpu.com/yun/93472.html
摘要:邏輯非操作符只能作用于單個邏輯操作數(shù),其結(jié)果是把那個邏輯操作數(shù)所返回的布爾值取反。如果那個邏輯操作數(shù)所返回的布爾值是,邏輯非操作符將把它取反為為了避免產(chǎn)生歧義,上面這條語句把邏輯操作數(shù)放在了括號里,使邏輯非操作符作用于括號里的所有內(nèi)容。 算術(shù)操作符 加減乘除這些算術(shù)操作中的每一種都必須借助于相應(yīng)的操作符才能完成。操作符是JavaScript為完成各種操作而定義的一些符號。等號(=)、加...
摘要:邏輯非操作符只能作用于單個邏輯操作數(shù),其結(jié)果是把那個邏輯操作數(shù)所返回的布爾值取反。如果那個邏輯操作數(shù)所返回的布爾值是,邏輯非操作符將把它取反為為了避免產(chǎn)生歧義,上面這條語句把邏輯操作數(shù)放在了括號里,使邏輯非操作符作用于括號里的所有內(nèi)容。 算術(shù)操作符 加減乘除這些算術(shù)操作中的每一種都必須借助于相應(yīng)的操作符才能完成。操作符是JavaScript為完成各種操作而定義的一些符號。等號(=)、加...
摘要:邏輯非操作符只能作用于單個邏輯操作數(shù),其結(jié)果是把那個邏輯操作數(shù)所返回的布爾值取反。如果那個邏輯操作數(shù)所返回的布爾值是,邏輯非操作符將把它取反為為了避免產(chǎn)生歧義,上面這條語句把邏輯操作數(shù)放在了括號里,使邏輯非操作符作用于括號里的所有內(nèi)容。 算術(shù)操作符 加減乘除這些算術(shù)操作中的每一種都必須借助于相應(yīng)的操作符才能完成。操作符是JavaScript為完成各種操作而定義的一些符號。等號(=)、加...
摘要:實踐指南函數(shù)的藝術(shù)來源譯者飛龍協(xié)議函數(shù)是所有程序的要素,無論規(guī)模大小,并且在編程語言中作為我們表達計算過程的主要媒介。目前為止,我們討論了函數(shù)的形式特性,以及它們?nèi)绾问褂?。第一行描述函?shù)的任務(wù)。 1.4 實踐指南:函數(shù)的藝術(shù) 來源:1.4 Practical Guidance: The Art of the Function 譯者:飛龍 協(xié)議:CC BY-NC-SA 4.0 函...
閱讀 817·2023-04-26 01:30
閱讀 3370·2021-11-24 10:32
閱讀 2272·2021-11-22 14:56
閱讀 2094·2021-11-18 10:07
閱讀 615·2019-08-29 17:14
閱讀 697·2019-08-26 12:21
閱讀 3165·2019-08-26 10:55
閱讀 3019·2019-08-23 18:09