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