首頁>技術>

這兩天和一位大廠的朋友聊天,說起他們今年技術崗晉級答辯要增加程式碼走讀環節,那該如何寫出好看又好用的程式碼?

程式碼是程式設計師改變世界的工具,每個程式設計師都會寫程式碼,但不一定能寫出好程式碼。

如今的大型商業軟體系統程式碼量巨大,早已不是憑藉一人之力可以完成,當然有些天才選手除外,比如Linux之父 Linus Torvalds 一人寫了初代Linux核心,微信之父張小龍一人寫了Foxmail郵箱,求伯君一人完成WPS1.0。

大部分程式設計師的工作是流水線形式的軟體開發,每人負責開發大系統中的一個小模組,要麼怎麼會說大廠擰螺絲呢,這時候編碼規範在團隊開發中就顯得尤為重要,遵循程式碼規範開發,更容易寫出可讀性高、易維護的程式碼。

團隊剛引入編碼規範,為了適應規範可能需要額外的時間,如果規範的要求和成員平常的編碼習慣不同,還可能會影響了開發效率,但和日後的收益比起來,這些陣痛都是暫時的。

統一使用一種風格編碼,帶來的後期收益是巨大的,這時即使看一份不是你寫的程式程式碼,有統一的程式碼結構、變數命名、甚至註釋風格,也非常容易理解。

打個比方來說,學 C++ 一定要看《Effective C++》,這本書就是 C++ 大師公開的最佳實踐,講了編寫出優秀C++程式碼的55個建議。程式碼規範從某種程度上來說,是程式設計習慣的最佳實踐,好的編碼規範,讓我們以最少踩坑、最少溝通成本的完成軟體開發。

規範因團隊和組織而異,我所有待過的幾個公司,都有不同的程式碼規範,當然有些小公司直接參考了業界的規範,好的程式碼規範值得我們學習,比如 Google 的開源專案程式碼規範

Google程式碼規範專案前包含了 C++\Object-C\Python\Shell\Javascript 這 5 種程式語言風格指南,可以先來看下目錄。

關於C++的規範,也擷取部分出來,整體來看是比較細緻,且有實踐指導意義,比如對於標頭檔案定義的約束:

所有標頭檔案要能自給自足,使用者和重構工具不需要為特別場合而包含額外標頭檔案

標頭檔案自包含

再比如,很多人不是很瞭解 C++ 的前置宣告,我曾經就在知乎回答過類似的問題。這個規範不但解釋了何為前置宣告,還告訴你哪些情況下要用它,哪些情況下使用前置宣告會帶來的問題。

下圖擷取自 Python 編碼規範:

Objective-C 部分編碼規範:

shell 部分編碼規範:

javascript 部分編碼規範:

如你所見,谷歌的這份編碼規範還是非常有參考價值的,分享給需要的同學,助你碼到成功

發了年終獎,給大家發 3000 塊錢開工紅包,無套路,拼手氣!目前參與的人還不多,趕緊來吧!新年給自己一個驚喜~

10
最新評論
  • BSA-TRITC(10mg/ml) TRITC-BSA 牛血清白蛋白改性標記羅丹明
  • CentOS 7 安裝 ionCube