←←←←←←←←←←←← 快!點關注程序員
好的代碼,就像是好的笑話——無需解釋就能讓別人明白。若是你的代碼可以作到不解自明,在大多數時候,你根本無需爲其配備說明文檔。算法
好的代碼,就像是一輛配備了優秀音響和杯架的汽車,這輛車在行駛到最高速度的時候,你聽不到噪音,也不用擔憂水會灑出來。在它出現故障的時候,任何一名修理工均可以使用最多見的工具,在最短的時間裏輕鬆將其修好。模塊化
而壞的代碼,就像是一輛向你承諾最高速度能夠達到200MPH,可是音響只能播放老式的磁帶,並且杯架還不穩的車。你在調整反光鏡角度的時候,汽車都會忽然出現故障,並且通常的修理工還修不了這輛車,必需要找專家,讓專家在生產線上使用專業的工具來修理。函數
容易理解工具
分章明確,每一章都有清晰的主旨單元測試
各個章節之間紛亂複雜,每一章都沒有明確的主旨測試
連篇累牘的重複一句話,並且毫無原因開發
做者在一開始設定了一些規則,可是在後面的內容中卻本身不斷的違反這些規則文檔
忽然間書裏出現了一個吸血鬼,並且還能在白天出來吸血。效率
可讀性——不僅是你,還有你身邊與你合做的其餘開發者
可維護性——讓你的代碼在修改的時候很簡單
簡潔性——不要讓你的代碼看上去毫無必要的複雜
效率性——儘量的讓你的代碼得到最快的運行速度
明確性——若是你的代碼可以作到不解自明,在大多數時候,你根本無需爲其配備說明文檔。在爲方法和屬性命名的時候,作到儘量的合理。把長的代碼進行拆分。不要複製/粘貼代碼塊。
若是你的同事不能輕鬆的看懂你寫的代碼,那麼你的代碼就不夠好。
找一個歷來沒讀過你的代碼的開發者,讓他看你的代碼,而且讓他試着說出每個模塊的做用。
若是你常常須要向他進行解釋,那麼說明你的代碼不夠好。解釋的次數越多,代碼的質量就越低。
若是你只是靜靜的坐在一邊,他無需問你任何問題,那說明你的代碼質量很高。
代碼寫的很聰明,可是又不會過度的聰明
不管在速度上,仍是可讀性上,你都使用了最佳的算法
類、變量和函數都獲得了正確的命名,讓人看一眼就能理解
休息了一個週末以後,你繼續寫代碼,發現本身能夠馬上繼續以前的工做
那些須要重複使用的東西老是可用
你所使用的方法都很短,最理想的狀況下要少於50行,最多不超過100行並且可以完美的執行單個任務
在調用方法的時候,你有着足夠的信息,無需在代碼堆中苦苦尋找
可以很輕鬆的在此前的代碼中進行功能添加和修改
try/catch塊的體量儘量的小
絕不費力的就能夠寫出單元測試
假設你的項目中有三個不一樣的層——內層、中層和外層。你的內容不該該從中層和外層那裏導入任何東西。中層不該該從外層導入任何東西 ,這樣作的好處是,你能夠對代碼的內層進行獨立測試。
禿頂程序員的不易,看到這裏,點了關注吧! 點關注,不迷路,持續更新!!!