代碼整潔之道

一、前言

? ? 1. 你是程序員,你想成為更好的程序員。

? ? 2. 永遠拋不不掉代碼,因為代碼呈現(xiàn)了需求的細節(jié)。

? ? 3. 讀與寫花費時間的比例超過10:1。

? ? 4. 代碼質(zhì)量與其整潔度成正比。

????5. 離開時要比發(fā)現(xiàn)時更整潔。

二、代碼整潔之思路

? ? 1. 命名:有意義的命名,有意義的語境,有意義的區(qū)分;可搜索的名稱;類名和對象名應(yīng)該是名詞或名詞短語,如Account、Customer;方法名應(yīng)當(dāng)是動詞或動詞短語,如postPayment、deletePage。取技術(shù)性的名稱,通常是最靠譜的做法。

? ? 2. 函數(shù):函數(shù)的規(guī)則是要短小,每個函數(shù)都只做一件事;理想的函數(shù)參數(shù)數(shù)量是零,其次是一,再次是二,三個或三個以上考慮封裝為類;函數(shù)和參數(shù)應(yīng)當(dāng)形成一種良好的動詞/名稱對形式,如writeFiled(name)、checkPassword(String userName, String password);控制和消除重復(fù)。

? ? 3. 注釋:需要注釋,更需要表述正確的注釋,否則注釋會誤導(dǎo),以及堅持維護正確的注釋

? ? 4. 格式:代碼的可讀性會對以后可能發(fā)生的修改行為產(chǎn)生重要影響;垂直格式,設(shè)定每個方法不超過100行;橫向格式,設(shè)定每行代碼不超過100個字符。

? ? 5.?對象和數(shù)據(jù)結(jié)構(gòu):對象暴露行為,隱藏數(shù)據(jù);數(shù)據(jù)結(jié)構(gòu)暴露數(shù)據(jù),沒有明顯的行為。

? ? 6.?類:類應(yīng)該短小,單一權(quán)責(zé)原則,內(nèi)聚、依賴倒置原則;系統(tǒng)應(yīng)該由許多短小的類而不是少量巨大的類組成。

? ? 7.?邊界:使用第三方代碼控制不了的代碼,需要清晰的分割和定義期望測試;避免代碼過多的了解第三方代碼中的特定信息,以免日后受它控制。

? ? 8.?單元測試:測試驅(qū)動開發(fā);測試保證和增強了生產(chǎn)代碼的可擴展性、可維護性和可復(fù)用性。

? ? 9.?系統(tǒng):沒必要先做大而全的設(shè)計;將系統(tǒng)的構(gòu)造和使用分開。

? ? 10. 迭進:代碼能工作還不夠,能工作的代碼經(jīng)常會崩潰;盡早改進不合理的代碼結(jié)構(gòu)和設(shè)計;?簡單設(shè)計、重構(gòu)、不可重復(fù)?。

三、樣例??

圖3.1


圖3.2


四、代碼整潔之思考

? ? 1. 精神上的緊箍咒。

? ? 2.?初稿也許粗陋無序,經(jīng)過斟酌推敲,直至達到心目中的樣子。

? ? 3. 項目時間緊迫,也要保持整潔代碼。

? ? 4. 堅持代碼評審。

? ? 5. 不僅自己,也要讓其他開發(fā)人員容易讀懂代碼。

阿里Java開發(fā)規(guī)范



最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容