Google C++ coding style一點心得
最近開始跟google的工程師做code review 真的是被電得一蹋糊塗阿 對方看得非常仔細,而且提出了很多我程式邏輯不太通順的地方 雖然很多起因是我照之前sample code的邏輯硬是下去改 但的確後續我就沒有特別思考前後是否功能有重複或是多餘的部分 這邊被對方找出非常多問題出來 可以感覺google對沒有用的程式碼非常在意 當然也有可能是這個reviewer自己本身很討厭多餘的東西放在code裡面 除了註解要寫得盡量清楚之外 程式本身可以越精簡越好 我本身對C++並不是很熟悉,常會用C語言的方式硬幹 但是的確對用C++的人來說是很笨的做法 有幾個點特別被點出來,紀錄一下以免以後忘記 1.Google C++不使用#define,改用const 原因是似乎是要預先pre-compile,會多耗資源 2.傳引數使用call by reference而不使用call by value http://wp.mlab.tw/?p=176 原因是會浪費很多記憶體空間 尤其我笨笨的傳struct進去函數裡面,非常糟糕 call by reference就是變數的address跟value在上層跟下層函數都會是一樣的 就不會浪費多餘的空間去記憶 3.class裡private的變數後面要多加"_"做為區別 4.函數名稱使用大寫例如PerformUpdate() 5.區域變數使用小寫加"_",例如video_image_version 6.const前面要多加"k",後面用大寫,例如kDefaultVideoDeviceMountPoint 7.行尾空白鍵要去除