C 編碼規範2 良好的程式設計習慣

2021-04-19 02:44:54 字數 4137 閱讀 9068

詞語選擇

避免使用由經常使用的命名空間複製的型別名。型別名不能使用下列詞語。

system collections forms ui

識別符號(包括引數名)中不要使用縮寫。

如果必須使用縮寫:

任何超過兩個字元以上的縮寫都使用camel大寫格式,即使這不是標準縮寫。

命名空間

命名命名空間的一般規則如下:

companyname.technologyname

這樣,我們看到的命名空間應該是這樣的:

microsoft.office

powersoft.powerbuilder

注意:這只是乙個原則。第三方公司可以選擇其它的名字。

避免用公司名稱或其它著名品牌的名稱作為命名空間的字首,這樣會造成兩個公布的命名空間有同乙個名稱的可能性。(例如,將微軟提供的office自動類命名為microsoft.office。)

使用pascal大寫方式,用逗號分隔邏輯成分(例如,microsoft.office.powerpoint)。如果你的品牌使用的是非傳統大寫方式,那麼一定要遵循你的品牌所確定使用的大寫方式,即使這種方式背離了通常的命名空間大寫規則(例如,next.webobjects,和ee.cummings。)

該用複數的時候要使用複數的命名空間名。例如,使用system.collections而不是system.collection。本規則的特例是品牌名稱和縮寫。例如:使用system.io而不是system.ios。

命名空間和類不能使用同樣的名字。例如,有乙個類被命名為debug後,就不要再使用debug作為乙個命名空間名。

類和類成分

類的命名原則

用名詞或名詞短語命名類。

使用pascal大寫。

減少類名中縮寫的使用量。

不要使用任何類字首(比如c)。

不要使用帶下劃線的字元。

下面是一些正確命名的類名的例子。

public class filestream

public class control set }

下例就是不正確的。

public enum color

public class control set }

在那個不正確的例子中,要想引用color enum是不可能的,因為color,***會被翻譯成乙個成員訪問,它會首先獲得color屬性的值(int種類),然後再訪問那個值的成員(它應該是system.int32的乙個例項成員)。

事件命名原則

用eventhandloer字尾命名事件處理程式,如下列所示。

public delegate void mouseeventhandler(object sender, mouseevent e);

使用名為sender和e的兩個引數。

sender引數代表提出事件的物件。sender引數永遠是乙個型別物件,即使它可能使用了更為特定的型別。

與事件相關的狀態被封裝在乙個名為e的事件類範例中。要使用這個型別的正確的、特定的事件類。

public delegate void mouseeventhandler(object sender, mouseevent e);

用eventargs字尾命名事件自變數類,如下例所示。

public class mouseeventargs : eventargs

public int x }

public int y }

命名事件名時,需要有之前和之後的時態概念,因此要使用現在時態和過去時態(不要使用before***/after***的方式)。例如,可以被取消的結束事件就有closing事件和closed事件。

public event controleventhandler controladded ;

int foo

帶有兩種方法的乙個型別,其方法的名稱不能只有大小寫不同。

void foo();

void foo();

避免型別名出現混淆

不同的語言使用不同的術語以識別基本管理型別。設計人員必須避免使用對語言有專門要求的術語。遵照本章說明的規則,避免出現型別名稱混淆的情況。

使用語義上有意義的名稱,而不要使用型別名稱。

在很少見的情況下,引數除了型別以外語義上沒有任何意義,這時使用類屬名。例如,乙個類支援將多種資料型別寫進乙個流中,這個類可能有下列方法:

void write(double value);

void write(float value);

void write(long value);

void write(int value);

void write(short value);

上面的例子在下述對語言有專門要求的情況下是首選。

void write(double doublevalue);

void write(float floatvalue);

void write(long longvalue);

void write(int intvalue);

void write(short shortvalue);

在極端情況下,每乙個基本資料型別需要有唯一的命名方式,此時使用下面的通用型別名稱。

c# type name

visual basic type name

jscript type name

visual c++ type name

il representation

universal type name

sbyte

sbyte

sbyte

char

i1 sbyte

byte

byte

byte

unsigned char

u1 byte

short

short

short

short

i2 int16

ushort

uint16

uint16

unsigned short

u2 uint16

int

integer

int

int

i4 int32

uint

na na

unsigned int

u4 uint32

long

long

long

__int64

i8 int64

ulong

uint64

uint64

unsigned __int64

u8 uint64

float

single

float

float

r4 single

double

double

double

double

r8 double

bool

boolean

boolean

bool

i4 boolean

char

char

char

wchar_t

u2 char

string

string

string

string

system.string

string

object

object

object

object

system.object

object

乙個支援從流中讀取多種資料型別的類可以有下列方法。

double readdouble();

float readsingle();

long readin64();

int readint32();

short readint16();

上面的例子在下述對語言有專門要求的情況下是首選。

double readdouble();

float readfloat();

long readlong();

int readint();

short readshort(); 

c語言良好的程式設計習慣 2

1.統一使用可靠的縮排規則可以大大提高程式的可讀性.建議每個縮排使用乙個大約1 4英吋的製表符或3個空格 2.在程式設計階段,偽碼通常用來 設想出 乙個程式,然後再把偽碼程式轉換為c語言程式 3.縮排書寫if else結構中的兩個部分 4.如果有幾種級別的縮排,每個級別都應該縮排相同的距離 5.在除...

良好的編碼習慣

1 以簡潔明瞭的方式編寫c程式。通常把這種程式編寫方法稱為kis 保持簡潔 不要用古怪的方式編寫程式。3 計算機和編譯器是很好的教員。如果對c的某個特點沒有把握,編寫乙個簡單的程式,然後編譯並執行它,看看會發生什麼結果。4 在每乙個函式的前面加上描述函式用途的注釋。5 執行列印操作的函式所列印的最後...

C 編碼規範和程式設計好習慣

c 編碼規範和程式設計好習慣 撰文 dotnetspider.com 誰都會寫 幾個月的程式設計經驗可以讓你寫出 可執行應用程式 讓它可執行容易,但是以最有效率的方式編碼就需要下更多的功夫!要知道,大多數程式設計師在寫 可執行 而不是 高效 我們在這個指南課程前面提到,你想成為你們公司 最尊貴的專業...