1. 程式人生 > >程式設計規範_這個星球上最好的C程式設計風格

程式設計規範_這個星球上最好的C程式設計風格

前言

這篇是今天給組內同事分享PPT的演講稿。

正文

首先說說為什麼需要程式設計規範。

前面的兩點我覺得大家都懂,就不說了。關於第三點,工程師文化傳承,我有點感想,想分享下。

提到程式設計風格,我就想到了我的老東家YX。在那裡養成了相對良好的程式設計習慣,幾位前輩用連括號前一個空格都不放過的嚴謹讓我受益匪淺。離開老東家的時間越來越久,自己在程式設計規範上也漸漸有所鬆懈。

最近組裡來了新人,我在CodeReview的時候發現有很多需要完善的地方。面對這些剛入行的新人,想到了當時教導我的前輩,現在也輪到我當別人的前輩了。我能感受到他們的激情和天賦,如果不能在他們茁壯成長的時候去提醒下他們,這就是我的失責了。所以為了讓好的東西傳承下去,這也是我今天做分享的原因。

那誰是這個星球上最好的C程式設計風格呢?

程式設計風格其實沒有一個標準,不能說誰是最好的風格,就像你的另一半,不能說誰是最好,只能說誰最合適。因此一般各家公司根據自己的需要都會做對應調整。老東家的程式設計風格是參考uCos,有的朋友喜歡Qt風格,有的喜歡蘋果webkit。今天分享一個目前最流行的C程式設計規範。

Google在11年剛開放了程式設計風格指南,就引起了很多反響,李開復也給了很高的評價。

這幾年我聽到很多公司都採用谷歌的程式設計風格,所以我就姑且認為目前google的程式設計風格是這個星球上最流行的程式設計風格。拉里佩奇是我最喜歡的偶像,對谷歌也是充滿崇拜。我確定在有生之年是去不了谷歌了,但幸好還可以像谷歌工程師那樣來寫程式。接下來我帶大家研究下谷歌的程式設計風格指南,並不是說它最好,只是給大家提供一個思路。

谷歌在github上開放了程式設計指南,除了C語言之外還有java,python,R語言等等。這是谷歌C++程式設計風格指南Google C++ Style Guide

為了方便大家,我也專門挑出了C語言相關的部分,並且翻譯成了中文,這幾天連著晚上加班熬了出來,放在我的github上。肯定有一些錯誤,大家看的時候歡迎給我反饋。

由於PPT這種形式不好展現這麼多的內容,我直接下載了目前掛在github上的markdown檔案,接下來就按照這個檔案給大家做個分享。

講解過程略。

這是關於命名規範的一個總結展示。

檔案:    code_style.c 
型別:    CodeStyle
變數:    code_style
全域性變數:g_code_style
常量:    kCodeStyle
函式:    MakeCodeStyle()
列舉值:  CODE_STYLE / kCodeStyle
巨集:      CODE_STYLE   

其實命名還有一些深層次的東西,風格只是格式,就像你給孩子取名字。什麼名字好聽才是真正體現功底的地方。

詩人賈島就這樣,這個推敲的典故就是告訴我們命名的重要性,壞的命名讓人一看就覺得沒文化,好的命名讓人耳目一新。這裡我就不展開。

最後

關於程式設計規範的其它部分,由於展示方式受限,PPT上不展開。
大家可以檢視我翻譯的C程式設計風格指南_C語言版