惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

Google DeepMind News
Google DeepMind News
Apple Machine Learning Research
Apple Machine Learning Research
博客园_首页
爱范儿
爱范儿
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
罗磊的独立博客
M
MIT News - Artificial intelligence
D
Docker
量子位
T
Tailwind CSS Blog
人人都是产品经理
人人都是产品经理
月光博客
月光博客
有赞技术团队
有赞技术团队
J
Java Code Geeks
A
About on SuperTechFans
P
Proofpoint News Feed
Jina AI
Jina AI
Y
Y Combinator Blog
T
The Blog of Author Tim Ferriss
The GitHub Blog
The GitHub Blog
Microsoft Security Blog
Microsoft Security Blog
V
V2EX
GbyAI
GbyAI
F
Fortinet All Blogs

博客园 - ◎寶☆呗

Sharepoint 自定义字段(栏) 动态获取数据 Sharepoint 工具使用总结 Sharepoint 内存泄漏 检测工具+-- Extjs 中的tbar中的事件 winform Tab键循序 小发现 instsrv.exe——来自Windows 2000 Resource Kits的一个小工具 [转载]MOSS 2007 SP1 stsadm 194 条指令 (用命令行部署infopath Form )Deploy administrator-approved form templates using command line sharepoint计时器(定时发邮件) Infopath开发经验(xml数据) 基本活动:CodeActivity Creating a Custom SharePoint 2007 List Definition 通过Sharepoint扩展的Webserives来获取某一权限是是否存在 Create a New SharePoint Permission Level and Bind it to an Existing SharePoint Group 执行带返回参数的存储过程 Sorry.....Sorry..... 操作Infopath中的XMl C#编程规范<二> 工作需要养成的习惯(个人经验)
C#代码规范.
◎寶☆呗 · 2007-09-30 · via 博客园 - ◎寶☆呗

因为最近近了新公司.对代码的要求和相对严格.所以我重新拾起代码规范...
也将找到的.简单的规范拿出来给大家提个醒..希望大家也能注意....能在工作中养成越来越仔细的习惯.减少Bug和粗心的机会.

.NET简明编码规范

NET简明编码规范
  ——Extracted from “.NET Framework General Reference
  Design Guidelines for Class Library Developers”
  版本:V1.0
1 Namespace 命名规范

  使用 公司名.产品名 这样的格式。
  Namespace中类的依赖关系应该体现在命名上,比如System.Web.UI.Design中的类以来于System.Web.UI。
  使用 Pascal case 命名。
   当商标(产品名)的命名风格和Pascal case不相符的时候,以商标(产品名)为准。
  在语意合适的情况下使用复数,比如System.Collections。例外是缩写和商标的情况。
  Namespace的名字不一定和Assembly一一对应。

  2 Class 命名规范

     使用名词或者名词性词组命名class。
     使用 Pascal case。
     保守地使用缩写。
     不使用type前缀,例如C来标识Class。比如,使用FileStream而不是CFileStream。
     不使用下划线。
     偶尔的在Class名称组成中需要使用I开头的时候,比如IdentityStore,just use it。
     在合适的时候,使用单词复合来标识从某个基类继承而来。比如xxxException。

  3 Interface 命名规范

     使用名词或者名词性词组命名Interface。
     使用 Pascal case。
     保守地使用缩写。
     在interface 名称前加上字母I来表示type是interface。
     在某个class是某个interface地标准实现地时候,用类似的名字来命名它们,仅仅在interface的名称前面多个I。
     不要使用下划线。

  4 Attribute 命名规范

     总是给Attribute类加上Attribute后缀。

  5 Enumeration Type 命名规范

     对Enum类型和值使用Pascal case。
     不要在Enum类型名称后面加上Enum后缀。
     对于大多数Enum类型使用单数名称,仅仅在这个Enum类型是bit fields地时候使用复数形式。
     总是给bit field Enum 类型添加FlagsAttribute。

  6 Static Field 命名规范

     使用名词、名词性词组或者名词地缩写来命名static fields。
     使用Pascal case。
     不要在static field名称中使用匈牙利命名法。
     在任何可能的情况下推荐你使用静态properties而不是public static fields。

  7 Parameter 命名规范

     对于parameter名称使用camel case。
     使用描述性的名称。参数名字应该在大多数场合下它的名字加上类型足够描述它的意义。
     使用描述参数的意义的名字而不是描述参数类型的名字。开发工具应该提供有关参数类型的有意义的信息。因而,参数的名字可以用于更好的描述意义。保守地使用基于类型的参数名字,仅仅在它们是合适的场合下使用。
     不要使用保留的参数。
     不要使用匈牙利命名法。

  8 Method 命名规范

     使用动词或者动词性词组命名。
     使用Pascal case。

  9 Property 命名规范

     使用名词或者名词性词组命名。
     使用Pascal case。
     不要使用匈牙利命名法。
     考虑使用和property type名字相同的名字作为property name。

  10 Event 命名规范

     使用Pascal case。
     不要使用匈牙利命名法。
     在event handler名字中使用EventHandler后缀。
     指定两个名字分别为sender和e的参数。sender参数代表了发出事件的对象。sender参数总是类型object,即使可能使用一个更加精确的类型。和事件相关的状态封装在名字为e的event class的实体之中。给e指定恰当而且明确的event class。
     使用EventArgs后缀命名事件参数class。
     考虑使用动词命名事件。使用进行时态来标识事件正在进行之中,使用完成时态标识事件已经完成,不要使用BeforeXxx/AfterXxx命名法。
     不要在事件声明中使用前缀和后缀,比如,用Close而不是OnClose。
     一般的,你应该同时提供一个名字为OnXxx的protected method供派生类来改写。