從程式設計師槍擊4位同事,論編碼規範的重要性
本文已在我的公眾號「伯特說」原創首發。
我們經常調侃說:殺死一個程式員不用槍,改幾次需求就行了。

改需求要人命
沒想到,國外真的發生了程式設計師槍擊同事的事件。而原因,不是產品改需求,竟是同事寫程式碼不規範: 不寫註釋、不遵循駝峰命名、括號換行,最主要還天天 git push -f 提交程式碼 。
槍擊事件共導致 4 位同事不同程度受傷,其中兩人傷情嚴重,一人情況危急。當事人在與警察的對峙中,被槍擊中身亡。

現場圖
當然,上述事件沒有確切證實,或許是猜測,所以在這兒就不再細說了,不知情的可以去網上搜搜。
接下來,想與大家聊聊,這件事背後所凸顯的編碼規範的重要性。
1. 編碼規範之於團隊
多人協作的專案,如果大家編碼毫無規範、風格迥異,毫無疑問,勢必引發可讀性差的問題,徒增後期維護成本,甚至無法維護。
另外,比較有意思的一點是,程式設計師大都有自己的個性: 我寫的程式碼是最標準的,你們寫的都是 shit 。
所以可想而知,風格迥異的程式碼,還會造成大家在日常工作中互相 diss,各種看不慣,長此以往勢必影響團隊協作及凝聚力。
2. 編碼規範之於質量
很多人會問:質量取決於編碼邏輯、演算法,與規範何關?
殊不知,規範的程式碼不僅意味著風格統一、可讀性高,在細節上還要求我們規範輸入、輸出,以及可能的異常處理等。
從可讀性上來說,高可讀使得在後期維護時,能有效避免因邏輯、業務不清晰造成的編碼錯誤,從而提升產品質量。
從輸入、輸出及異常處理上來說,規範引發我們思考各種輸入 case、邊界條件等,以及正確處理異常情況而非崩潰,如有必要輔以相應的日誌用於排查問題,從整體上提升程式碼的魯棒性。
3. 編碼規範之於個人
個人認為,規範對為所欲為的人來說,是一種約束;而對於具備良好編碼習慣的人來說,是一種認可的標準。
其實,只要做到前面所說的,那麼規範之於個人的意義就不言而喻了。最後,再補充一點:
如果不希望離職後,被接手你程式碼的人問候全家,那就從現在起規範編碼。
如果你接手過別人的程式碼,你就知道這不是開玩笑。
我謹在此呼籲大家:請注重編碼規範問題,不要“開發一時爽,維護火葬場”,況且現在看來真的有可能出人命。
最後,感謝這些年同事的不殺之恩,讓我有機會寫這篇文章,你們有機會讀這篇文章。
歡迎關注我的公眾號「伯特說」,在這裡,讀的越多,懂的越少。

伯特說