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

IDesign C#編程規范(之四)

編輯:關於C語言
續之三,本文是IDesign C#編程規范的第三章。



3 項目設置和項目結構
Project Settings and Project Structure


1. 總是以4級警告建立項目(圖略)。
Always build your project with warning level 4
2. 在發布版中將警告作為錯誤(注意這不是VS.Net的缺省設置)(圖略)。
Treat warning as errors in Release build (note that this is not the default of VS.Net).
a) 雖然是可選的,本標准也推薦在調試版中將警告作為錯誤。
Although it is optional, this standard recommend treating warnings as errors in debug builds as well.
3. 永遠不要抑制特定的編譯警告(圖略)。
Never suppress specific compiler warnings.
4. 總是在應用程序的配置文件中顯式地說明支持的運行時版本。參見Programming .Net Components第五章。
Always explicitly state your supported runtime versions in the application configuration file. See Chapter 5 in Programming .Net Components.
<?XML version="1.0"?>
<configuration>
<startup>
<supportedRuntime version="v2.0.0.0"/>
<supportedRuntime version="v1.1.5000.0"/>
</startup>
</configuration>
5. 避免顯式地自定義版本改向和綁定到CLR程序集。
Avoid explicit custom version redirection and binding to CLR assemblIEs.
6. 避免顯式的預編譯定義(#define)。使用項目設置定義條件編譯常量。
Avoid explicit preprocessor definitions (#define). Use the project settings for defining conditional compilation constants.
7. 不要在AssemblyInfo.cs中放任何邏輯。
Do not put any logic inside AssemblyInfo.cs.
8. 除了在AssemblyInfo.cs,不要在任何文件中放程序集屬性。
Do not put any assembly attributes in any file besides AssemblyInfo.cs.
9. 在AssemblyInfo.cs中提供所有字段,例如公司名稱、描述、版權等。
Populate all fIElds in AssemblyInfo.cs such as company name, description, copyright notice.
10. 所有程序集應該使用相對路徑引用。
All assembly references should use relative path.
11. 不允許在程序集中循環引用。
Disallow cyclic references between assemblIEs.
12. 避免多模塊的程序集。
Avoid multi-module assemblIEs.
13. 缺省總是以非檢查的方式運行(為了性能考慮),但是對易於溢出或下溢的操作顯式使用檢查模式(圖略)。
Always run code unchecked by default (for performance sake), but explicitly in checked mode for overflow or underflow prone Operations.
int CalcPower(int number,int power)
{
int result = 1;
for(int count = 1;count <= power;count++)
{
checked
{
result *= number;
}
}
return result;
}
14. 避免使用Exception窗口(Debug|Exceptions)篡改異常處理。
Avoid tampering with exception handling using the Exception window (Debug|Exceptions).
15. 努力對同一邏輯應用程序中(通常是一個解決方案)的所有程序集和客戶端使用統一的版本號。
Strive to use uniform version numbers on all assemblies and clIEnts in the same logical application (typically a solution).
16. Visual Studio.Net應用的配置文件命名為App.config,並將其包括在項目中。
Name your Visual Studio.Net application configuration file as App.config, and include it in the project.
17. 避免使用顯式代碼來排除方法(#if#endif),而是使用條件方法。
Avoid explicit code exclusion of method calls (#if...#endif). Use conditional methods instead.
public class MyClass
{
[Conditional("MySpecialCondition")]
public void MyMethod()
{}
}
18. 將VS.Net缺省的項目結構改為標准的布局,對項目文件夾和文件應用統一的結構。
Modify VS.Net default project structure to your project standard layout, and apply uniform structure for project folders and files.
19. 鏈接一個包含所有解決方案級信息的全局共享文件(圖略)。
Link all solution-wide information to a global shared file:
20. 制表符選用"插入空格",使用3個空格代替制表符。
Insert spaces for tabs. Use 3 spaces instead of tabs。
a) 在工具|選項|文本編輯器|C#|制表符中設置
Tools|Options|Text Editor|C#|Tabs
21. 發布版中應該包含調試符號。
Release build should contain debug symbols.
22. 總是對程序集簽名,包括客戶端應用程序。
Always sign your assemblies, including the clIEnt applications.
23. 總是使用項目的SNK文件對互操作程序集簽名(圖略)。
Always sign interop assemblIEs with the project's SNK file
  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved