於碼農而言什麼樣的程式碼才能叫做好程式碼?
作者
Christian(編譯)
來源
https://sdk.cn/news/4719
好的程式碼,就像是好的笑話——無需解釋就能讓別人明白。如果你的程式碼能夠做到不解自明,在大多數時候,你根本無需為其配備說明文件。
好的程式碼,就像是一輛配備了優秀音響和杯架的汽車,這輛車在行駛到最高速度的時候,你聽不到噪音,也不用擔心水會灑出來。在它出現故障的時候,任何一名修理工都可以使用最常見的工具,在最短的時間裡輕鬆將其修好。
而壞的程式碼,就像是一輛向你承諾最高速度可以達到200MPH,但是音響只能播放老式的磁帶,而且杯架還不穩的車。你在調整反光鏡角度的時候,汽車都會突然出現故障,而且一般的修理工還修不了這輛車,必須要找專家,讓專家在生產線上使用專業的工具來修理。
好程式碼像是一本寫作技巧高超的人所寫的書
1.容易理解
2.分章明確,每一章都有清晰的主旨
而壞的程式碼像是剛剛學會寫字的人所寫的書
1.各個章節之間紛亂複雜,每一章都沒有明確的主旨
2.連篇累牘的重複一句話,而且毫無緣由
3.作者在一開始設定了一些規則,但是在後面的內容中卻自己不斷的違反這些規則
4.突然間書裡出現了一個吸血鬼,而且還能在白天出來吸血。
要想寫出好的程式碼,你一定要牢記以下內容
可讀性——不只是你,還有你身邊與你合作的其他開發者
可維護性——讓你的程式碼在修改的時候很簡單
簡潔性——不要讓你的程式碼看上去毫無必要的複雜
效率性——儘可能的讓你的程式碼獲得最快的執行速度
明確性——如果你的程式碼能夠做到不解自明,在大多數時候,你根本無需為其配備說明文件。在為方法和屬性命名的時候,做到儘可能的合理。把長的程式碼進行拆分。不要複製/貼上程式碼塊。
如果你的同事不能輕鬆的看懂你寫的程式碼,那麼你的程式碼就不夠好。
程式碼質量測試
1.找一個從來沒讀過你的程式碼的開發者,讓他看你的程式碼,並且讓他試著說出每一個模組的作用。
2.如果你經常需要向他進行解釋,那麼說明你的程式碼不夠好。解釋的次數越多,程式碼的質量就越低。
3.如果你只是靜靜的坐在一邊,他無需問你任何問題,那說明你的程式碼質量很高。
當你在寫程式碼的時候,一些訊號可以證明你寫的程式碼質量不錯:
程式碼寫的很聰明,但是又不會過分的聰明
無論在速度上,還是可讀性上,你都使用了最佳的演算法
類、變數和函式都得到了正確的命名,讓人看一眼就能理解
休息了一個週末之後,你繼續寫程式碼,發現自己可以立刻繼續之前的工作
那些需要重複使用的東西總是可用
你所使用的方法都很短,最理想的情況下要少於50行,最多不超過100行而且能夠完美的執行單個任務
在呼叫方法的時候,你有著足夠的資訊,無需在程式碼堆中苦苦尋找
能夠很輕鬆的在此前的程式碼中進行功能新增和修改
try/catch塊的體量儘可能的小
毫不費力的就可以寫出單元測試
好程式碼都是模組化的
假設你的專案中有三個不同的層——內層、中層和外層。你的內容不應該從中層和外層那裡匯入任何東西。中層不應該從外層匯入任何東西 ,這樣做的好處是,你可以對程式碼的內層進行獨立測試。
“好的程式碼本身就是最好的說明文件。” — Steve McConnell
END
本週知識星球主題預告:技術社群的盈利之道
這是一個最好的時代,也是一個最壞的時代,每個成功/失敗的背後都會有精彩的故事。
我不得不承認,在這個時代我們都是幸運的,不用風吹,沒有雨打,坐在家中,只通過一臺電腦,一部手機,就能開啟你的事業,這是何等幸福的生活,你現在開始行動了嗎?
加入《就聊掙錢》來一場思維之旅。推廣期間特價66元。