《C 程式設計風格》還記得多少

2021-09-23 23:33:43 字數 1988 閱讀 7074

開始實習之後,才發現自己是多麼地菜。還有好多東西還要去學習。

公司很好,還可以幫你買書。有一天隨口問了一下上司d,**規範上面有什麼要求。然後d在amazon上面找到了這本書《c#程式設計風格(the elements of c# style)》(中英對照),讓我直接買下開看,按上面的要求編寫就可以了。書可以找秘書f去報銷。

上個星期四在amazon下單,周一才到。這書確實來的有點慢,沒關係,我看的快。從周一到周五,用每天上下班在擠地鐵(廣州地鐵***)的時間,我把書在五個工作日就看完了。當然,關鍵是夠薄。描述也相當簡練。

以下是我看完還記得的部分:

這個沒啥好說的,意思就是該留空白的時候要果斷留,不要怕浪費。空白有助於提高**的可讀性。

一般表示用大括號「」括起來的部分。

變數一般用小駝峰法標識。駝峰法的意思是:除第乙個單詞之外,其他單詞首字母大寫。譬如

int mystudentcount;
變數mystudentcount第乙個單詞是全部小寫,後面的單詞首字母大寫。

相比小駝峰法,大駝峰法把第乙個單詞的首字母也大寫了。常用於類名,函式名,屬性,命名空間。譬如

public class databaseuser;
一般慣例是加乙個字首或者字尾用於私有變數和區域性變數。通常是用下劃線「_」來標識。譬如

private int mystudentcount_;
下劃線有加在前面的,也有加在後面的。個人比較習慣加在前面。

常量通常用全大寫,並用下劃線來分割單詞來標誌。譬如

private int const student_count=50;
用switch的時候,無論case是否涵括了所有情況,都應該加上default語句。很多時候結果是不再我們考慮範圍內的。應該盡量涵蓋所有情況。譬如

switch(month)

**用於處理每個月的不同情況,雖然已經處理了十二個月的情況,但是**還是加上了default用於以防萬一,這是值得推薦的。

一般在二元運算子左右需要加乙個空格。當然用vs的人一般都知道當你打出每一句**的最後標誌符「;」的時候,vs會自動處理**,給二元運算子的左右加上乙個空格。譬如

count = count + i;
可以發現在「=」和「+」左右都是有乙個空格的。這樣比起不加空格確實好看很多。不信,你別加試試。

新增語句上面盡量不要用直接值。譬如

int count = 60;

if(count_ >= count)

我們推薦這種做法,我們不推薦

if(count_ >= 60)

這種做法。當要發生修改的時候,前者的價值就相當明顯了。

盡量使用型別名的別名。例如

int count = 60;

system.int32 count2 = 60;

其實int只是system.int32的別名而已,兩者產生的效果作用是一模一樣的。不過我們推薦使用前者,不推薦後者。這有歷史的因素吧,不過只要是個人,都會很自覺寫int,double這些別名吧。

我們推薦原子操作。乙個函式不需要做太多的事情。特別是對於類來說。如果乙個實現可以用幾個原子方法來完成,我們推薦這種做法,而不推薦把方法寫地太長。最好別超過100行。

雖然可以預設不填寫訪問控制符。但是我們不推薦這種做法。我們推薦把類裡面所有的變數,方法,屬性,...都寫上訪問許可權。

#region和#endregion是非常好用的東西。它可以在任何位置,無聊是否在同時在同乙個塊內,都可以使用,將**收縮。在乙個類裡面,我們推薦使用region將**分類。譬如

人老了記憶力就是差。

C程式設計風格

問 如何在原始檔中合理分配函式?答 通常,相關的函式放在同乙個檔案中。有時候 例如開發庫的時候 乙個原始檔 自然也 就是乙個目標檔案 放乙個函式比較合適。有時候,尤其是對某些程式設計師,太多的原始檔可能 會很麻煩,將多數以至所有的程式都放入少數幾個大的原始檔中也很誘人,甚至也是合適的。希望用 sta...

c 靜態建構函式 與 建構函式 你是否還記得?

建構函式這個概念,在我們剛開始學習程式語言的時候,就被老師一遍一遍的教著。親,現在你還記得靜態建構函式的適用場景嗎?如果沒有,那麼我們一起來複習一下吧。靜態建構函式是在建構函式方法前面新增了static關鍵字之後形成的,並且沒有修飾符 public,private 沒有引數。靜態建構函式有哪些特點呢...

c 靜態建構函式 與 建構函式 你是否還記得?

建構函式這個概念,在我們剛開始學習程式語言的時候,就被老師一遍一遍的教著。親,現在你還記得靜態建構函式的適用場景嗎?如果沒有,那麼我們一起來複習一下吧。靜態建構函式是在建構函式方法前面新增了static關鍵字之後形成的,並且沒有修飾符 public,private 沒有引數。靜態建構函式有哪些特點呢...