【php精品源码栏目提醒】:网学会员在php精品源码频道为大家收集整理了“C#代码规范范本 - 其它资料“提供大家参考,希望对大家有所帮助!
C编码规范 目 录方针该代码标准提供了相关软件开发项目中,使用 C进行编码时的规则,推荐代码标准,起到了一定的指示作用。
为了使该标准制定的方针浅显易懂,用了简单的代码来编写。
而在实际的编程中,是需要项目小组所有成员同意该编写规则的。
对于实际项目,我们推荐将该标准以顾客为标准使用。
还有,我们还推荐读者参考配合.NET Framework SDK 帮助的《面向对象开发设计指南》 。
※ 特别是在 Extreme Programming 项目中没有认识到的,可使用其它 C编程的项目中运 用。
技术规范 C#编码规范 1. 代码注释规范 1 文件功能,创建,修改信息注释 2 类功能注释 3 方法注释 4 较长的注释,GY需要复数行注释的情况下,在最初用短小的篇章写上想要注释什么。
然后在添加上长的注释。
另外在感觉有必要写象如此长的注释之时 请再三考虑一下可否将程序设计再简化一下。
请积极地应对。
2. 目录文件构成 5 目录文件名Public 类会生成一个以该类命名的文件。
例:public class Customer 里面有着 Customer.cs。
包内的非公共类,最好放在包含该类经常被使用的公共类目录文件下。
对于特殊类,一个目录文件可以包含多个类。
2 of 23技术规范 C#编码规范 6 目录文件的位置决定了项目的根目录之后,在命名空间的“.”处输入导入目录的阶层位置。
可是对应于solution/project 的命名空间的阶层则用 solution 名/project 名作为目录名来使用。
例: 命名空间: CompanyName.OrganizationName.TechnologyName.CoreFeatureName.SubFeatureNam e Solution SolutionName 所对应的命名空间:TechnologyName Project ProjectName 所对应的命名空间:CoreFeatureName 配置路径: C:CompanyNameOrganizationNameSolutionNameProjectNameSubFeatureName 7 TestClass 名类 ClassName 的单元测试类是以 ClassNameTest 来命名的。
Solution 的每个测试都是以SolutionNameTests 来命名的。
例:如果是 Customer 类的测试类的话就命名为 CustomerTest.cs。
例:如果是 CsSample 的 soultion 的话,就把它命名为 CsSampleTests.csproj。
理由:因为是这样命名是非常有一致性。
可以成为使用测试代码的样例和演示版。
8 TestClass 的位置测试类的位置应配置在被测试类相同的阶层的目录下。
例: 被测试类的位置:测试类的位置:理由:如果不是物理位置较近的话会被维护系统所遗漏。
对于产品的代码分离这一点而言用其他的工具(NAnt 的 build 文件之类)也是可能调整的。
3 of 23 技术规范 C#编码规范 3. 命名规则 9 NameSpace 结构规范 NameSpace 分类和命名原则 、业务系统(Application) 先根据解决方案(Solution) 、模块Module 、子系 统(Sub) 划分目录,然后在模块内部按照 Web、Biz、integration 层对 NameSpace 结构进行命名。
Web 层 NameSpace 命名规范 Beyondbit.Solution.Application.Sub.Module.Web 业务层 NameSpace 命名规范 Beyondbit.Solution.Application.Sub.Module.Biz 数据访问层 NameSpace 命名规范 Beyondbit.Solution.Application.Sub.Data 集成层 NameSpace 命名规范 Beyondbit.Solution.Application.Sub.Module.Biz Common 该目录应用于解决方案(Solution)、业务系统(application) ,存放 、子系统(sub) 在一些与业务相关的通用处理程序,可以视为公共的模块,可包含 Web、Biz、integration。
Util 该目录应用于解决方案(Solution) 、子系统(Sub) 、业务系统(Application) ,存放 在一些与业务无关的通用处理程序。
10 文件名 Public 类的命名一定要与文件名同名包括大小写的区别。
4 of 23技术规范 C#编码规范 11 类名类名使用 Pascal 大小写形式。
12 异常类名最后以 Exception 结尾。
13 接口名与类名相同。
此外,经常在最前面添加 I。
interface IClassName此外在使用添加了某项功能的情况下我们要加上可以表示这种功能的形容词以-able 结尾。
例: IEnumerable ICloneable IXmlSerializable … 14 抽象类名如果没有适合抽象类名的名字的时候就联想以 Abstract 为开头的 Subclass 名作为抽象类的名字。
abstract class AbstractBeforeSubClassName 15 常量Const 。
用大写或者大写后加“_”const int UPPERCASE 0const int UPPERCASE_WITH_UNDERSCORES 0 16 枚举型enum枚举名使用 Pascal 大小写格式。
enum PascalCasing枚举型在表示位域的时候用复数。
并附加 FlagsAttribute。
5 of 23技术规范 C#编码规范 Flags enum PascalCasings 17 枚举值枚举值使用 Pascal 大小写格式。
PascalCasing 18 事件名事件名使用 Pascal 大小写格式。
event PascalCasing 19 方法名方法名使用 Pascal 大小写格式。
void PascalCasing object PascalCasing 20 factory 方法 生成新的对象 X NewX X CreateX 21 转换方法把一个对象转换成别的对象 X ToX 22 属性名属性名使用 Pascal 大小写形式。
object PascalCasing 6 of 23技术规范 C#编码规范 23 Boolean 变量返回方法Is 形容词、Can 动词、Has 过去分词、三单元名词、三单元动词 名词。
好的例子: bool IsEmpty bool CanGet bool HasChanged bool Containsobject x bool ContainsKeystring key bool CheckUserRightstring userIdstring rightId 不好的例子: bool Empty //方法调用者会理解成“清空”的意思。
理由:方法调用者很容易理解 ifwhile 等条件语句的条件。
另外,也很容易理解 ture 意味着什么。
24 Bool 变量形容词、is形容词、can动词、has过去分词、三单元动词、三单元动词+名词。
形容词、is 形容词、can 动词、has 过去分词、三単元动词、三単元动词 名词。
bool isEmpty bool dirty bool containsMoreElements 25 英语和中文 所有的关键词名都是以英语为基础,另外,在整个项目的制作周期中都有中英对照 字典的支持。
26 命名的对称性要取类名,方法名的时候请注意以下的英语的对称性。
Add / Remove Insert / Delete Get / Set 7 of 23技术规范 C#编码规范 Start / Stop Begin / End Send / Receive First / Last Get / Release Put / Get Up / Down Show / Hide Source / Target Open / Close Source / Destination Increment / Decrement Lock / Unlock Old / New Next / Previous 27 循环计数器对于应用 Scope(适用范围)的局部循环计数器,以ijk为顺序依次命名。
28 Scope 的局部变量命名Scope 的局部变量名最好使用其类型名的缩写。
例: DataSet ds new DataSet 29 有意义的命名最好使用从名字中就可以看出其变量作用的变量名。
不好的例子: Copystring s1 string s2 好的例子: Copystring source string destination 30 无意义的命名用 Info Data Temp Str Buf 这些做变量名的时候需要再三考虑。
不好的例子:double temp Math.Sqrtbb - 4ac 好的例子:double determinant Math.Sqrtbb - 4ac 8 of 23技术规范 C#编码规范 31 private / protected / internal / protected internal scope 的实例变量使用 Camel 大小写形式。
我们需要考虑的是使变量更加容易读懂。
private object camelCasing protected object camelCasing internal object camelCasing protected internal object camelCasing 32 public scope 的实例
上一篇:
【精品】cacti+nagios安装步骤
下一篇:
首鼠两端