ü 左花括号“{”放在关键字或方法的下一行并与之对其。
例如:
if (n > 0)
{
...
}
private void Work(int n)
{
...
}
ü 左花括号“{”要与相应的右花括号“}”对齐。
ü 在通常情况下,左花括号“{”单独成行,不与任何语句并列成行。
ü if、while、do语句后一定要使用{},即时{}号中为空或只有一条语句。
例如:
if (n > 10)
{
Work(n);
}
ü 关键字和左括号“(”应该用空格隔开。
例如:
for (int i = 0; i < 10; i++)
{
...
}
ü 在方法名和左括号“(”之间不要用空格,这样有助于辨认代码中的方法调用和关键字。
ü 多个参数用逗号“,”隔开,每个逗号后都应加一个空格。
ü 除了“.”之外,所有二元操作符都应该与它们的操作数隔开。一元操作符、++ 及 -- 与操作数间不需要空格。
例如:
a += c + d;
a = (a + b) / (c * d);
while (d++ == s++)
{
n++;
}
Console.WriteLine("num is" + n);
ü 语句中的表达式之间要用空格隔开。
例如:
for (expr1; expr2; expr3)
{
...
}
ü 要用4个连续的空格符来进行缩进。
û 不要用制表符(Tab)来进行缩进。
ü 要对代码块中的内容进行缩进。
例如:
if (someExpression)
{
DoSomething();
}
ü 要对Case代码块进行缩进,尽管没有使用花括号。
例如:
switch (someExpression)
{
case 0:
DoSomething();
break;
}
8.2. 命名空间引用约定
ü 引用解决方案的其他工程的类,在头文件中引用全部路径,如:
using Codyy.CocoGlobalSession.GlobalSessionClient.RegionSession.GroupOp;
RegionSessionGroupOpServiceProxyMethod regionSessionGroupOpServiceProxyMethod
= new RegionSessionGroupOpServiceProxyMethod();
如果一个解决方案中的两个工程中定义了相同的类,实例化该类时要指定全路径。
ü 引用本工程的类,写出全部路径, 如:
GlobalSessionUtility.SessionUtility.GroupSession groupSession = new GlobalSessionUtility.SessionUtility.GroupSession();
ü 要在命名命名空间、类型及成员时采用PascalCasing大小写风格。
ü 私有字段用PascalCasing命名,并加上前缀“m_”。
例如:
private int m_ValueOne;
ü 私有静态变量用PascalCasing命名,并加上前缀“s_”。
static s_ValueTwo;
private static s_ValueThree;
ü 全局变量用PascalCasing命名。
internal static string GlobalSessionId;
ü 要用camelCasing命名局部变量。
ü 要用camelCasing命名方法的形式参数。
û 不要用匈牙利命名法。
û 避免给局部变量加前缀。
ü 要使用c#语言中对应的别名,不要使用.net框架中的类型名。
例如:要使用int 而不是Int32,要使用object而不是Object。
û 不要用注释来描述一些对任何人都显而易见的事。
ü 代码块的注释,避免使用块注释语法(/*…*/)。即使注释会有多行,也最好是使用单行注释语法(//…)。
ü 类、方法、构造函数、属性等非代码块注释采用以下形式:
/// <summary>
/// 主函数入口
/// </summary>
/// <param name="args">参数说明</param>
static void Main(string[] args)
{
}
û 不要把注释放在行尾,除非特别短。
//注释语句
TestVirtual t2 = new TestOverride(); //除非特别短,否则不要在此注释
û 不要在一个源文件中包含一个以上的公用类型,除非有嵌套类,或各类型之间的不同之处仅在于泛型参数的数量。一个文件中有多个内部类型是允许的。
ü 要用相同的名字来命名源文件及其包含的公用类型。
例如:String类应该在String.cs文件中。
ü 考虑根据下面给出的顺序和组别来对成员进行分组。
Ø 所有字段。
Ø 所有构造函数。
Ø 公有属性及其受保护的属性。
Ø 方法(所有显式实现的接口方法、内部方法、私有方法)。
Ø 事件。
Ø 所有嵌套类型。
例如:
public class TestClass
{
#region 字段
#endregion
#region 构造函数
#endregion
#region 属性
#endregion
#region 方法
#region 接口方法
#endregion
#region 内部方法
#endregion
#region 私有方法
#endregion
#endregion
#region 事件
#endregion
#region 嵌套类型
#endregion
}
ü 要把不能公开访问的成员和显式实现的接口成员分别放在自己的#region块中。
#region 不能公开访问的成员
#endregion
#region 显式实现的接口成员
#endregion
ü 考虑在每个组别内根据字母顺序来组织成员。
ü 考虑根据由简单到复杂的顺序来组织重载成员。
ü 要把using指令放在命名空间生命之外。
分享到:
相关推荐
asp.net xml高级编程 c#编程篇asp.net xml高级编程 c#编程篇
C#.NET课程设计指导 C#.NET课程设计指导 C#.NET课程设计指导
C#.net屏保设计C#.net屏保设计C#.net屏保设计C#.net屏保设计C#.net屏保设计C#.net屏保设计C#.net屏保设计C#.net屏保设计C#.net屏保设计C#.net屏保设计C#.net屏保设计C#.net屏保设计C#.net屏保设计C#.net屏保设计C#...
理解 .NET Framework 与 C# 用对象来思考:属性与方法 用对象来思考:值类型与引用类型 用集合组织相关数据 文件读写与 XML 用对象来思考:继承 用对象来思考:多态 用对象来思考:接口 序列化与...
S2-1-深入.NET平台和C#编程(PPT+源码)【第八章】
清晰完整PDF版本,第二版,清晰完整。 .NET设计规范:约定、惯用法与模式(第2版)克瓦林纳 2/5 ...附录A C#编程风格约定 附录B 通过FxCop来实施设计规范 附录C API规格书样例 术语表 推荐读物
北大青鸟 s2 深入.net平台和C#编程ATM编程
深入.NET平台和C#编程.NET平台和C#编程4~9章PPT课件
北大青鸟《深入.NET平台和C#编程(PPT+源码)》【第二章】
S2-1-深入.NET平台和C#编程(PPT+源码)【第十一章】
原装的英文版Asp.net2.0 入门经典C#篇.避免了翻译后的质量下降
S2-1-深入.NET平台和C#编程(PPT+源码)【第七章】
清晰完整PDF版本,是我从网上买来的,是第二版 在 CSDN 上只有我整个是清晰完整的。 共 50MB,分为5个分卷 ...附录A C#编程风格约定 附录B 通过FxCop来实施设计规范 附录C API规格书样例 术语表 推荐读物
ACCP5.0深入.NET平台和C#编程(第八章):里面包括ppt、课堂案例和上机答案。
s2深入.NET平台和C#编程课后、上机、指导练习答案、影院系统项目案例、魔幻战士和PPT(已经做好的PPT),教学案例新闻阅读器
深入.NET平台和C#编程总结,包括C#面向对象编程,.NET平台知识,有利于初学者快速了解C#面向对象编程和.NET平台开发!
深入.NET平台和C#编程(.NETOOP)第一章-第九章
深入.NET平台和C#编程第七章.rar
C#.Net开发规范C#.Net开发规范C#.Net开发规范C#.Net开发规范C#.Net开发规范C#.Net开发规范C#.Net开发规范C#.Net开发规范
C#.NET的界面编程, 说明资料, 适合新手使用