程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> 關於C語言 >> IDesign C#編程規范(一)

IDesign C#編程規范(一)

編輯:關於C語言
IDesign發布了C#編程規范,小雞射手從Only4Gurus下載浏覽後決心抽時間翻譯一下,以更好地學習。

目錄內容如下:

1 命名規則和風格 Naming Conventions and Style
2 編碼慣例 Coding Practices
3 項目設置和結構 Project Settings and Structure
4 Framework特別指導 Framework Specific Guidelines
4.1 數據訪問 Data Access
4.2 ASP.NET和Web Service ASP.Net and Web Services
4.3 序列化 Serialization
4.4 多線程 Multithreading
4.5 Remoting Remoting
4.6 安全 Security
4.7 服務組件 Enterprise Services
5 資源 Resources

今天只翻譯了命名規則部分,譯文及原文對照如下,其中的tip是附加的,:-)



命名規則和風格
Naming Conventions and Style

1. 類和方法名采用Pascal風格
Use Pascal casing for type and method names
public class SomeClass
{
public SomeMethod(){}
}
2. 局部變量和方法參數采用camel風格
Use camel casing for local variable names and method arguments
int number;
void MyMethod(int someNumber)
{}
3. 接口名采用I作為前綴
Prefix interface name with I
interface IMyInterface
{..}
4. 私有成員變量采用m_作為前綴
Prefix private member variables with m_
public class SomeClass
{
private int m_Number;
}
5. 自定義屬性類名采用Attribute作為後綴
Suffix custom attribute classes with Attribute.
6. 自定義異常類名采用Exception作為後綴
Suffix custom exception classes with Exception.
7. 采用動詞-對象對命名方法,例如ShowDialog()
Name methods using verb-object pair, such as ShowDialog()
8. 有返回值的方法應該取名表示其返回值,例如GetObjectState()
Methods with return values should have a name describing the value returned, such as GetObjectState().
9. 采用描述性的變量名。
Use descriptive variable names.
a) 避免采用單字母的變量名,如i或t;而是采用index或temp。
Avoid single character variable names, such as i or t. Use index or temp instead.
b) 對public和protected成員避免采用用匈牙利命名法。
Avoid using Hungarian notation for public or protected members.
c) 不要采用縮寫(例如將number縮寫為num)。
Do not abbreviate Words (such as num instead of number).
10. 總是使用C#預定義的類型,而不是使用System命名空間中的別名。例如:采用object不用Object,采用string不用String,采用int不用Int32。
Always use C# predefined types rather than the aliases in the System namespace.
For example:
object NOT Object
string NOT String
int NOT Int32
11. 對於泛型,類型采用大寫字母。當處理.Net類型Type時保留後綴Type。
With generics, use capital letters for types. Reserve suffixing Type when dealing with the .Net type Type.
// 正確:
//Correct:
public class LinkedList
// 避免使用:
//Avoid:
public class LinkedList
12. 采用有意義的命名空間名,例如產品名稱或公司名稱。
Use meaningful namespaces such as the product name or the company name.
13. 避免使用類的全稱,而是采用using語句。
Avoid fully qualifIEd type names. Use the using statement instead.
14. 避免在命名空間內使用using語句。
Avoid putting a using statement inside a namespace.
15. 將所有framework命名空間名放在一起,後面放自定義或第三方的命名空間名。
Group all framework namespaces together and put custom or third party namespaces underneath.
using System;
using System.Collections;
using System.ComponentModel;
using System.Data;
using MyCompany;
using MyControls;
16. 采用委托推斷,不要顯式實例化委托。
Use delegate inference instead of explicit delegate instantiation
delegate void SomeDelegate();
public void SomeMethod()
{}
SomeDelegate someDelegate = SomeMethod;
17. 嚴格遵守縮進格式。
Maintain strict indentation.
a) 縮進采用3個空格。
Use 3 spaces for indentation.
b) 不用采用tab或非標准的縮進,如1、2或4個空格。
Do not use tabs or non-standard indentation like 1, 2 or 4 spaces.
18. 注釋縮進和其注釋的代碼在同一層次。
Indent comment at the same level of indentation as the code you are documenting.
19. 所有注釋要經過拼寫檢查。拼寫錯誤的注釋表明開發的草率。
All comments should pass spell checking. Misspelled comments indicate sloppy development.
20. 所有成員變量應該定義在前面,和屬性或方法間空開一行。
All member variables should be declared at the top, with one line separating them from the propertIEs or methods.
public class MyClass
{
int m_Number;
string m_Name;

public void SomeMethod1()
{}
public void SomeMethod2()
{}
}
21. 局部變量的定義盡可能靠近它的初次使用。
Declare a local variable as close as possible to its first use.
22. 文件名應該體現其包含的類。
A file name should reflect the class it contains.
23. 當使用partial類型且每部分分配一個文件時,以類型名加P和序數命名每個文件。
When using partial types and allocating a part per file, name each file after the type suffixed with a P and an ordinal number:
//In MyClassP1.cs
public partial class MyClass
{}
//In MyClassP2.cs
public partial class MyClass
{}
24. 左大括號總是放在新行中。
Always place an open curly brace ({) in a new line.
25. 匿名方法模仿普通方法的布局,和匿名委托定義放在一行。
With anonymous methods mimic the code layout of a regular method, aligned with the anonymous delegate declaration.
a) 遵守將左大括號放在新行的規則。
Comply with placing an open curly brace in a new line
delegate void SomeDelegate(string someString);
//正確
//Correct:
public void InvokeMethod()
{
SomeDelegate someDelegate = delegate(string name)
{
MessageBox.Show(name);
};
someDelegate("Juval");
}
//避免采用:
//Avoid
public void InvokeMethod()
{
SomeDelegate someDelegate = delegate(string name){MessageBox.Show(name);};
someDelegate("Juval");
}
26. 沒有參數的匿名方法使用空括號。
Use empty parenthesis on parameter-less anonymous methods
a) 僅當匿名方法可能被用於任何委托時省略括號。
Omit the parenthesis only if the anonymous method could have been used on any delegate.
delegate void SomeDelegate();
//Correct
SomeDelegate someDelegate1 = delegate()
{
MessageBox.Show("Hello");
};
//Avoid
SomeDelegate someDelegate1 = delegate
{
MessageBox.Show("Hello");
};

之三
  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved