程式的編寫風格

2021-08-24 19:45:34 字數 3322 閱讀 6822

程式設計風格雖然不會影響程式的功能,但會影響可讀性。程式的版式追求清晰、美觀,是程式風格的重要構成因素。

空行起著分隔程式段落的作用。空行得體(不能過多也不能過少)將使程式的布局更加清晰。空行不會浪費記憶體,雖然列印含有空行的程式是會多消耗一些紙張,但是值得。所以不要捨不得用空行。 ¯

在每個類宣告之後、每個函式定義結束之後都要加空行。例如: //

類定義之後要用空格

class date;

//空行

class time

//空行

date::~date()

//空行

void date::show()

¯一行**只做一件事情,如只定義乙個變數,或只寫一條語句。這樣的**容易閱讀,並且方便於寫注釋。 ¯

if、for

、while

、do等語句自佔一行,執行語句不得緊跟其後。不論執行語句有多少都要加{}

(建議最好這樣,不要怕麻煩)。這樣可以防止書寫失誤。 ¯

盡可能在定義變數的同時初始化該變數(就近原則)

如果變數的引用處和其定義處相隔比較遠,變數的初始化很容易被忘記。如果引用了未被初始化的變數,可能會導致程式錯誤。本建議可以減少隱患。例如

int width = 10; // 定義並初紿化width

char *name = new char[10]; //

直接申請空間,而不至於出現未給指標變數指向空間的錯誤

¯關鍵字之後要留空格。像const

、virtual

、inline

、case

等關鍵字之後至少要留乙個空格,否則無法辨析關鍵字。像if

、for

、while

等關鍵字之後可以留乙個空格再跟左括號『(』,以突出關鍵字。 ¯

函式名之後不要留空格,緊跟左括號『(』,以與關鍵字區別。 ¯

『(』向後緊跟,『)』、『,』、『;

』向前緊跟,緊跟處不留空格。 ¯

『,』之後要留空格,如function(x, y, z)

。如果『;

』不是一行的結束符號,其後要留空格,如for (initialization; condition; update)。

¯賦值操作符、比較操作符、算術操作符、邏輯操作符、位域操作符,如「=

」、「+=

」「>=

」、「<=

」、「+

」、「*

」、「%

」、「&&

」、「||

」、「<<

」,「^

」等二元操作符的前後應當加空格。 ¯

一元操作符如「!

」、「~

」、「++

」、「--

」、「&

」(位址運算子)等前後不加空格。 ¯

像「[]」、「.

」、「->

」這類操作符前後不加空格。 ¯

對於表示式比較長的for

語句和if

語句,為了緊湊起見可以適當地去掉一些空格,如for (i=0; i<10; i++)

和if ((a<=b) && (c<=d))

例如:void func1(int x, int y, int z); // 良好的風格

void func1 (int x,int y,int z); // 不良的風格

if (year >= 2000) // 良好的風格

if(year>=2000) // 不良的風格

if ((a>=b) && (c<=d)) // 良好的風格

if(a>=b&&c<=d) // 不良的風格

for (i=0; i<10; i++) // 良好的風格

for(i=0;i<10;i++) // 不良的風格

for (i = 0; i < 10; i ++) // 過多的空格

x = a < b ? a : b; // 良好的風格

x=a不好的風格

int *x = &y; // 良好的風格

int * x = & y; // 不良的風格

array[5] = 0; // 不要寫成 array [ 5 ] = 0;

a.function(); // 不要寫成 a . function();

b->function(); // 不要寫成 b -> function();

¯程式的分界符『

』應獨佔一行並且位於同一列,同時與引用它們的語句左對齊。 ¯

之內的**塊在『

virtual cmatrix cmultiplymatrix (cmatrix leftmatrix,

cmatrix rightmatrix);

for (very_longer_initialization;

very_longer_condition;

very_longer_update)

¯應當將修飾符*

和&緊靠變數名

例如:char *name;

int *x, y; // 此處y不會被誤解為指標

c語言的注釋符為「/*…*/

」。c++

語言中,程式塊的注釋常採用「/*…*/

」,行注釋一般採用「//…

」。注釋通常用於: (1

(2)函式介面說明; (3

)重要的**行或段落提示。

雖然注釋有助於理解**,但注意不可過多地使用注釋。 ¯

注釋是對**的「提示」,而不是文件。程式中的注釋不可喧賓奪主,注釋太多了會讓人眼花繚亂。注釋的花樣要少。 ¯

如果**本來就是清楚的,則不必加注釋。否則多此一舉,令人厭煩。例如

i++; // i 加1,多餘的注釋 ¯

邊寫**邊注釋,修改**同時修改相應的注釋,以保證注釋與**的一致性。不再有用的注釋要刪除。 ¯

注釋應當準確、易懂,防止注釋有二義性。錯誤的注釋不但無益反而有害。 ¯

盡量避免在注釋中使用縮寫,特別是不常用縮寫。 ¯

注釋的位置應與被描述的**相鄰,可以放在**的上方或右方,不可放在下方。 ¯

當**比較長,特別是有多重巢狀時,應當在一些段落的結束處加注釋,便於閱讀。

類可以將資料和函式封裝在一起,其中函式表示了類的行為(或稱服務)。類提供關鍵字public

、protected

和private

,分別用於宣告哪些資料和函式是公有的、受保護的或者是私有的。這樣可以達到資訊隱藏的目的,即讓類僅僅公開必須要讓外界知道的內容,而隱藏其它一切內容。我們不可以濫用類的封裝功能,不要把它當成火鍋,什麼東西都往裡扔。

在定義類的時候,究竟是以定義資料成員開始還是以定義成員函式開始要看程式設計者的習慣。以下是兩種方式:

class a

class a

(摘自《高質量c++程式設計指南》)

程式編寫風格

1.編寫程式時,可以在運算子的左右或是逗號 之後適當地使用一些空白,讓程式看來不那麼擁擠。對比 int i 0 int i 0 2.在宣告字串並指定字串值時,如果字串長度過長,可以分作兩行來寫,比較容易閱讀,例如 string text n n 3.類名首字母大寫 方法名稱的命名慣例為首字母小寫 名...

百度有關程式編寫風格

每個函式的定義和說明應該從第1列開始書寫。函式名 包括參數列 和函式體的花括號 應該各佔一行。在函式體結尾的括號 後面應該加上注釋,注釋中應該包括函式名,這樣比較方便進行括號配對檢查,也可以清晰地看出來函式是否結束。範例1 函式的宣告 void matmyfunction int n matmyfu...

編寫result風格的url

請求的url 1.新增 order post 2.修改 order 1 put 3.獲取 order 1 get 4.刪除 order 1 delet 如果是form表單 需要是post請求 需要在表單中定義隱藏的 input 其中name是必須的,value來指定是put 還是delete 如果在...