ü 左花括号“{”放在关键字或方法的下一行并与之对其。
例如:
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 = newGlobalSessionUtility.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指令放在命名空间生命之外。
分享到:
相关推荐
第八章“其他”提及了表达式和类型转换方面的规范。 附录一介绍了匈牙利命名法,这是一种在变量命名时将数据类型信息加入到变量名中的约定,虽然不在规范中强制使用,但提供了一种可选的命名方式供参考。 整体而言...
**C#编程规范文档详细解读** C#编程规范是一套旨在提高代码可读性、可维护性和团队协作效率的准则。这份文档详细规定了代码的编写格式、命名约定、注释标准以及语句结构等多个方面,是每个C#开发者应该遵循的指导...
### 第八章:其他 涉及表达式、类型转换等内容,补充完善C#编程的各方面知识,确保开发者能够全面掌握语言特性。 通过深入解析上述章节内容,我们了解到C#编程规范覆盖了从文件命名到代码书写、从命名规则到注释...
【C#编程规范参考手册】是一本旨在提升C#编程质量与可读性的指南,它为程序员提供了关于代码风格、命名约定以及代码组织的一系列规则和最佳实践。这份手册适用于那些希望提高代码质量和团队协作效率的开发者。 ### ...
10. **最佳实践**:了解并遵循C#编程的最佳实践,如代码风格、命名约定、异常处理策略,以及使用设计模式等,能够提高代码的可读性和可维护性。 通过对这些知识点的深入学习和实践,开发者将能够编写出高效、可靠的...
#### 第八章 其他 **表达式:** - 表达式应简洁明了,避免复杂的嵌套。 **类型转换:** - 显式类型转换应明确指出,以避免意外的类型错误。 #### 附录一:匈牙利命名法 - 匈牙利命名法是一种早期流行的命名约定...
C#编程规范是开发高效、可读性强、易于维护的软件项目的重要指导原则。本篇将详细阐述这些规范,包括代码外观、命名约定、注释和文档、类型设计等多个方面。 1. **概述** - **规范制定原则**:C#编程规范旨在提高...
## 第八章 性能优化 在不影响可读性和可维护性的前提下,适度考虑性能优化,如避免冗余计算,使用适当的数据结构和算法。 总结,C#编程规范文档v2.0旨在提供一套全面的指南,帮助开发者编写出高效、清晰、易于维护...
通过上述内容,我们可以看到C#编程规范覆盖了从代码风格、命名约定到注释、结构等多个方面,旨在提高代码质量、可读性和可维护性。遵循这些规范不仅能够帮助开发人员写出更好的代码,还能够促进团队间的合作和交流。
#### 第八章 其他 - **表达式**:遵循一致的书写风格。 - **类型转换**:显式转换时要谨慎,避免数据损失。 #### 附录一:匈牙利命名法 - **简介**:匈牙利命名法是一种早期流行的命名约定,每个变量名由一个或多...
**第八章 其他** - **表达式**:保持表达式简洁,避免过于复杂的嵌套。 - **类型转换**:在需要类型转换时,使用显式的转换操作符,如`(Type)variable`,而不是隐式转换。 附录一介绍了匈牙利命名法,这是一种早期...
10. **最佳实践**:书中的实例还可能包含了C#编程的最佳实践,如代码风格、命名约定、错误处理策略等,有助于培养良好的编程习惯。 通过深入学习和实践《C#开发实例大全 提高卷》中的内容,开发者不仅可以掌握C#...
#### 第八章 其他 **表达式** - 表达式应简洁明了,避免冗余。 **类型转换** - 明确使用显式类型转换,避免隐式转换带来的不确定性。 #### 附录一:匈牙利命名法 - 匈牙利命名法是一种早期流行的命名约定,...
在C#编程中,遵循一套良好的命名规则和风格对于代码的可读性和团队协作至关重要。以下是一些关键的C#命名规范,它们旨在提高代码的清晰度和一致性: 1. **类和方法名** 应该使用Pascal风格,即每个单词的首字母大写...
- **第 8 章:接口与实现**:介绍了接口的设计原则。 - **第 9 章:耦合与内聚**:分析了模块间的关系。 - **第 10 章:收集您的对象**:讲解了如何管理和组织对象。 - **第 11 章:异常处理**:探讨了错误处理...