蛙蛙推薦 C 編碼規範 doc

2021-03-31 08:56:57 字數 3894 閱讀 7626

c#

編碼規範

---------------------------

一、型別級單位的命名 1

、類。

以class

宣告的類,都必須以名詞或名詞短語命名,體現類的作用。如:

class indicator

當類是乙個特性(

attribute

)時,以

attribute

結尾,當類是乙個異常(

exception

)時,以

exception

結尾:

class colorsetexception

class causeexceptionattribute

當類只需有乙個物件例項(全域性物件,比如

等),必須以

class

結尾,如

class screenclass

class systemclass

當類只用於作為其他類的基類,根據情況,以

base

結尾:

mustinherit class indicatorbase

如果定義的類是乙個窗體,那麼名字的後面必須加字尾

form

,如果是

web窗體,必須加字尾

page:

class printform : inherits form '* windows窗體

class startpage : inherits page '* web窗體

2、列舉和結構

同樣必須以名詞或名詞短語命名。最好體現列舉或結構的特點,如:

enum colorbuttons '

以複數結尾,表明這是乙個列舉

structure customerinforecord '

以record

結尾,表明這是乙個結構體 3

、委派型別

普通的委派型別以描述動作的名詞命名,以體現委派型別例項的功能:

delegate sub dataseeker (byval seekstring as string)

用於事件處理的委派型別,必須以

eventhandler

結尾,如:

delegate sub datachangedeventhandler (byval sender as object, byval e as datachangedeventargs) 4

、介面

與其他型別不同,介面必須要由

i作為字首,並用形容詞命名,突出表現實現介面的類將具有什麼能力:

inte***ce isortable 5

、模組

模組不是型別,他的名稱除了必須以名詞命名外,必須加以字尾

module:

module sharedfunction**odule

上述所有規則的共同特點是,每個組成名稱的詞語都必須是大寫開頭,禁止完全大寫或小寫的名稱。

二、方法和屬性的命名 1

、方法

無論是函式還是子程式,方法都必須以動詞或動詞短語命名。無需區分函式和子程式,也無需指明返回型別。

sub open(byval ***mandstring as string)

function setcopynumber(byval copynumber as integer)

引數需要指明

byval

還是byref

,這一點寫起來會讓程式邊長,但非常必要。如果沒有特別情況,都使用

byval

。引數的命名方法,參考後面「變數的命名方法」。需要過載的方法,一般不寫

overloads

,根據需要編寫過載的方法。 2

、屬性

原則上,字段(

field

)是不能公開的,要訪問欄位的值,一般使用屬性。屬性以簡潔清晰的名詞命名:

property concentration as single

property customer as customertypes 3

、事件

event click as clickeventhandler

event colorchanged as colorchangedeventhangler

三、變數和常數

常數以表明常數意義的名詞命名,一般不區分常數的型別:

const defaultconcentration as single = 0.01

在嚴格要求的**中,常數以

c_開頭,如

c_defaultconcentration

,但最好不要用它,它會帶來輸入困難。

普通型別的變數,只要用有意義的名字命名即可,不可使用簡稱和無意義的名稱諸如a,

x1等,下面給出了良好的例子:

dim index as integer

dim nextmonthexpenditure as decimal

dim customername as string

不能起太長的名字,應該盡量簡潔,如下面的例子:

dim variableusedtostoresysteminformation as string '*

錯誤,太複雜了

dim systeminformation as string '*

正確,簡單明瞭

dim sysinfo as string '*

錯誤,過於簡單

特殊情況可以考慮乙個字母的變數:

dim g as graphic

對於控制項,應該指明控制項的型別,方法是直接在變數後面加以類名:

friend withevents nextpagebutton as button '* 按鈕

friend withevents colorchoicerpanel as panel '* 面版

friend withevents cardfileopendialog as fileopendialog '*

檔案開啟對話方塊

等等,無需規定某種型別的變數的字首,只需把型別寫在後面就行了,試對比下列**:

btncancel.text = "&cancel"

cancelbutton.text = "&cancel"

顯然後者更能使閱讀者明白變數的型別是乙個按鈕。

四、標籤

標籤就是用於

goto

跳轉的**標識,由於

goto

並不推薦使用,所以標籤的使用也比較苛刻。標籤必須全部大寫,中間的空格用下劃線

_代替,而且應該以

_開頭,比如:

_a_label_example:

如此定義標籤是為了與其他**元素充分區別。

五、名字空間

通常,乙個工程使用乙個名字空間,通常不需要用

namespace

語句,而是在工程選項的「

root namespace

」中指定,使用根名字空間可以使**更加整齊,容易修改,這一點是

vb十足的優點。名字空間的語法是:

公司名

.產品名

[.元件名的複數]

如:

namespace ninputer.virtualscreen

namespace ninputer.cardeditor.customecontrols

隨便起乙個名字空間的名字絕對不是乙個好主意,一定要遵守上述規定。

六、注釋

注釋的規則繁多,這裡僅提到其中一點:正常的注釋以

'*開頭,單獨的

'只用來注釋暫時不用的**

'*

這是普通的注釋

'*

這段**在除錯正確後加入

'if usehighspeed(g) = true then ....

這樣能夠方便的採用**注釋工具控制**的使用。

蛙蛙推薦 開源CRM專案開發規範草稿

蛙蛙推薦 開源crm專案開發規範草稿 經過乙個禮拜,我用cmp架構做了乙個客戶管理的demo,並以次來演示怎樣利用這個架構來執行資料訪問,錯誤處理,監測跟蹤等任務,以及如何解決在實際開發過程中可能遇到的問題,由於時間倉促,關於單元測試,web資料夾規劃,css類的命名等內容還沒來得及寫。不過大家可以...

蛙蛙推薦 遠端抓取網頁到本地資料庫 doc

接到乙個任務是把中國名牌 的某些內容新增到我們的 上,位址如下 技術,jscript 服務端指令碼,以及 ado技術,寫了乙個小程式,把這些內容抓取到了本地資料庫。抓取下來,然後就資料庫對資料庫導資料就比較方便了。先建立乙個 access 資料庫,結構如下 id自動編號 標識,主鍵 oldid 數字...

蛙蛙推薦 微軟的常用資源列表

蛙蛙推薦 微軟的常用資源列表 最近微軟中文站點不知不覺的多了很多的訪問量,正是因為它給許多技術人員提供了很 多實用的技術資料和技術支援,筆者經常關注微軟的中文站點,去獲取一些有用的東西,web開發 msdn 微軟開發技巧系列網路講座 msdn 歸檔技術資源庫 資料訪問 資料庫 開發策略和倡議 off...