一、 编码规范

(一)【强制】命名规范:所有命名(类名、属性名、变量名、常量名、属性名)必须以字母开头(a-z、A-Z),不能以特殊字符(_、$)开头。

        1、【强制】类名命名规则:大驼峰命名法【DTO、POCO、VO等除外】

     public class UserInfo{}

        2、【强制】属性命名规则:大驼峰命名法

     public string UserInfo { get; set; }

        3、【强制】字段、参数、成员变量、局部变量命名规则:小驼峰命名法

     public string userName;
public string GetUserName(string userId) { return "userName"; }

        4、【强制】方法/函数命名规则:大驼峰命名法

     public int GetUserInfo() { }

        5、【强制】常量命名规则:名称全部大写,单词间用下划线_分开

     public const string USER_NAME = "userinfo";

        6、【强制】DTO、POCO、VO命名规则:大驼峰命名法+DTO/VO/POCO等

     public class UserInfoDTO { }
public class UserInfoVO { }
public class UserInfoPOCO { }

7、【强制】命名空间命名规则:大驼峰命名法

    namespace UserInfo { }

8、【强制】枚举命名规则(枚举名称采用大驼峰命名规则,枚举成员所有名称也使用大驼峰命名法)(没有特殊情况的话,枚举成员建议从默认值0开始)

    public enum UserState
{
Success,
Fail
}

9、【强制】代码中所有成员禁止直接使用中文的命名方式,禁止使用中文拼音命名(一些通用的命名除外:比如城市可以采用beiJing、shangHai这样的命名规则是可以的),禁止使用中英文混合命名方式,禁止出现a、b、c、aa、ss、x、xx等毫无意义的命名方式。

        10、【推荐】复数类型(集合类、数组等)命名规则:优先以小写字符s结尾,如果单词最后的字母就是s或其他不适合s结尾的单词,可以使用复数类型的类型名称结尾(如List、Array等结尾)。前面规则如果都不好命名,可自行命名。

    public List<string> userNames { get; set; }
public string[] userNameArray { get; set; }
public List<string> userNameList { get; set; }

11、【强制】接口命名规则:以大写字母I开头+类名称

    public interface IUserInfo { }

12、【强制】异常类命名规则:大驼峰命名法+Exception

   public class UserInfoException { }

13、【强制】项目命名规则:大驼峰命名法,各个字母之间用字母(.)隔开。

        14、【推荐】业务层和数据层名命名规则:业务层类库名称命名规则:以Service结尾、数据层类库命名规则:以Repository结尾。

            1)、获取数据的方法以Get开头(加上要获取的对象名)。如获取单个对象,可以使用Get()、GetUserInfo()。获取复数对象(集合类),可以使用Gets()、GetUserInfos()。

        public class UserInfoService
{
/// <summary>
/// 获取一条用户信息【命名规则:直接用Get命名】
/// </summary>
/// <param name="userId">用户Id</param>
/// <returns></returns>
public UserInfo Get(string userId)
{
return null;
}
/// <summary>
/// 获取一条用户信息【命名规则:Get+对象名】
/// </summary>
/// <param name="userId">用户Id</param>
/// <returns></returns>
public UserInfo GetUserInfo(string userId)
{
return null;
}
/// <summary>
/// 获取多条用户信息【命名规则:Gets】
/// </summary>
/// <returns></returns>
public IEnumerable<UserInfo> Gets()
{
return null;
}
/// <summary>
/// 获取多条用户信息【命名规则:Get+对象名复数】
/// </summary>
/// <returns></returns>
public IEnumerable<UserInfo> GetUserInfos()
{
return null;
}
}

            2)、新增数据的方法以Insert开头(加上要获取的对象名)。如往数据库中新增一条记录,方法命名为Insert()、InsertUserInfo()。往数据库中新增多条记录,方法命名为Inserts()、InsertUserInfos()。

        public class UserInfoService
{/// <summary>
/// 新增一条用户信息【命名规则:Insert命名】
/// </summary>
/// <param name="userInfo">用户信息</param>
/// <returns></returns>
public int Insert(UserInfo userInfo)
{
return 1;
}
/// <summary>
/// 新增一条用户信息【命名规则:Insert+对象名】
/// </summary>
/// <param name="userInfo">用户信息</param>
/// <returns></returns>
public int InsertUserInfo(UserInfo userInfo)
{
return 1;
}
/// <summary>
/// 新增多条用户信息【命名规则:Inserts】
/// </summary>
/// <param name="userInfos">用户信息</param>
/// <returns></returns>
public int Inserts(List<UserInfo> userInfos)
{
return 1;
}
/// <summary>
/// 新增多条用户信息【命名规则:Insert+对象名复数】
/// </summary>
/// <param name="userInfos">用户信息</param>
/// <returns></returns>
public int InsertUserInfos(List<UserInfo> userInfos)
{
return 1;
}
}

            3)、删除数据的方法以Delete/Remove(加上要删除的对象名)。如删除数据库中的一条记录,方法命名为Delete()、DeleteUserInfo()。删除数据库中的多条记录,方法命名为Deletes()、DeleteUserInfos()。

        public class UserInfoService
{/// <summary>
/// 删除一条用户信息【命名规则:Delete】
/// </summary>
/// <param name="userId">用户Id</param>
/// <returns></returns>
public int Delete(string userId)
{
return 1;
}
/// <summary>
/// 删除一条用户信息【命名规则:Delete+对象名】
/// </summary>
/// <param name="userId">用户Id</param>
/// <returns></returns>
public int DeleteUserInfo(string userId)
{
return 1;
}
/// <summary>
/// 删除多条用户信息【命名规则:Deletes】
/// </summary>
/// <param name="userIds">要删除的用户Id集合</param>
/// <returns></returns>
public int Deletes(List<string> userIds)
{
return 1;
} /// <summary>
/// 删除多条用户信息【命名规则:Delete+对象名复数】
/// </summary>
/// <param name="userIds">要删除的用户Id集合</param>
/// <returns></returns>
public int DeleteUserInfos(List<string> userIds)
{
return 1;
}
}

            4)、修改数据的方法以Update开头(加上要修改的对象名)。如修改一条数据信息,方法命名为Update()、UpdateUserInfo()。修改多条数据的信息,方法命名为Updates()、UpdateUserInfos()。

        public class UserInfoService
{/// <summary>
/// 修改一条用户信息【命名规则:Update】
/// </summary>
/// <param name="userInfo">用户信息</param>
/// <returns></returns>
public int Update(UserInfo userInfo)
{
return 1;
}
/// <summary>
/// 修改一条用户信息【命名规则:Update+对象名】
/// </summary>
/// <param name="userInfo">用户信息</param>
/// <returns></returns>
public int UpdateUserInfo(UserInfo userInfo)
{
return 1;
}
/// <summary>
/// 修改一条用户信息【命名规则:Update】
/// </summary>
/// <param name="userInfo">用户信息</param>
/// <returns></returns>
public int Updates(UserInfo userInfo)
{
return 1;
}
/// <summary>
/// 修改一条用户信息【命名规则:Update+对象名】
/// </summary>
/// <param name="userInfo">用户信息</param>
/// <returns></returns>
public int UpdateUserInfos(UserInfo userInfo)
{
return 1;
}
}

C#开发手册的更多相关文章

  1. Net力软快速信息化系统开发框架 + 开发手册+数据库说明

    源码目录结构说明LeaRun.Cache –缓存层LeaRun.Resource –本地语言LeaRun.Utilities –公共类库LeaRun.DataAccess –数据库访问核心组件LeaR ...

  2. 在线教学、视频会议 Webus Fox(2) 服务端开发手册

    上次在<在线教学.视频会议软件 Webus Fox(1)文本.语音.视频聊天及电子白板基本用法>里介绍了软件的基本用法.本文主要介绍服务器端如何配置.开发. 1. 配置 1.1 IIS配置 ...

  3. 在线教学、视频会议 Webus Fox(3) 客户端开发手册

    本文主要介绍webus fox 客户端的配置及接口说明. 1. 文件列表和配置 1.1 文件列表 1.2 common.xml 配置 根据服务器端的部署, 替换[ServerUrl] , [RtmpP ...

  4. Navi.Soft30.开放平台.聚合.开发手册

    1系统简介 1.1功能简述 现在是一个信息时代,并且正在高速发展.以前获取信息的途径非常少,可能只有电视台,收音机等有限的来源,而现在的途径数不胜数,如:QQ,微信,官方网站,个人网站等等 本开发手册 ...

  5. Navi.Soft30.开放平台.腾讯.开发手册

    1系统简介 1.1功能简述 现在是一个信息时代,并且正在高速发展.以前获取信息的途径非常少,可能只有电视台,收音机等有限的来源,而现在的途径数不胜数,如:QQ,微信,官方网站,个人网站等等 本开发手册 ...

  6. Navi.Soft30.开放平台.百度.开发手册

    1系统简介 1.1功能简述 现在是一个信息时代,并且正在高速发展.以前获取信息的途径非常少,可能只有电视台,收音机等有限的来源,而现在的途径数不胜数,如:QQ,微信,官方网站,个人网站等等 本开发手册 ...

  7. Navi.Soft30.框架.WinForm.开发手册

    阅读导航 Navi.Soft30.Core类库.开发手册 http://www.cnblogs.com/xiyang1011/p/5709489.html Navi.Soft30.框架.WinForm ...

  8. Discuz!开发手册

    如何使用Discuz开发手册? 1.首先建议你了解Discuz目录结构-全局篇 通过对目录结构的了解,会在以后的创作道路上提供坚实的基础! 2.你还需要了解Discuz! X3.1数据字典 3.创建自 ...

  9. dzzoffice教程、文档、开发手册等内容地址

    dzzoffice教程.文档.开发手册等内容全部都存放在DzzOffice开发者社区的文集中.搜索引擎收录不到DzzOffice中的应用内容,这里将文集地址提供在这里. 地址:http://dev.d ...

  10. Java开发手册

    <Java开发手册> 基本信息 作者: 桂颖    谷涛    出版社:电子工业出版社 ISBN:9787121209161 上架时间:2013-8-12 出版日期:2013 年7月 开本 ...

随机推荐

  1. adduser和addgroup命令讲解

    https://wiki.alpinelinux.org/wiki/Setting_up_a_new_user 在Alpine Linux下创建用户和组命令分别是adduser和addgroup,本文 ...

  2. Linux readonly

    1. 概念readonly在shell脚本中,用来标记变量是只读的,后续执行过程中就不能对其值进行改变,这个用来定义一些常量类的变量. 如果对其进行重新赋值,会提示错误 [root@localhost ...

  3. 【转载】 进行API开发选gRPC还是HTTP APIs

    https://www.cnblogs.com/yilezhu/p/10645804.html 开始之前先看一下gRPC与带有j'son的HTTP APIs对比表格 gRPC的优势 性能 gRPC消息 ...

  4. [转]spring-framework-x.x.x.RELEASE-dist下载教程

    原文链接: spring-framework-x.x.x.RELEASE-dist下载教程

  5. manim边做边学--动画联动

    今天介绍Manim中的动画联动的技巧,在数学动画中,动画联动是常用的功能, 比如讲解平面几何中三角形与圆的位置关系变化,通过动画联动可以让圆沿着三角形的边滚动,或者让三角形的顶点在圆上移动,从而直观地 ...

  6. w3cschool-Nginx 入门指南

    https://www.w3cschool.cn/nginx/ Nginx 的特点 Nginx 做为 HTTP 服务器,有以下几项基本特性: 处理静态文件,索引文件以及自动索引:打开文件描述符缓冲. ...

  7. e-prime2.0 安装

    先卸载之前的 卸载 1.点开之前安装的文件.exe 2.选择remove,即卸载 打开注册表 1.开始-运行:输入regedit 2.然后找到并删除注册表中: HKEY_CURRENT_USER\So ...

  8. 为什么UNIX使用init进程启动其他进程?

    为什么UNIX使用init进程启动其他进程? 在UNIX系统中,当系统启动时,内核完成初始化后会启动第一个用户空间进程,通常是init进程.init进程负责启动和管理其他用户空间进程,而内核本身并不直 ...

  9. RocketMQ原理—5.高可用+高并发+高性能架构

    大纲 1.RocketMQ的整体架构与运行流程 2.基于NameServer管理Broker集群的架构 3.Broker集群的主从复制架构 4.基于Topic和Queue实现的数据分片架构 5.Bro ...

  10. 【忍者算法】从股市走势到动态规划:探索最大子数组和问题|LeetCode 53 最大子数组和

    从股市走势到动态规划:探索最大子数组和问题 生活中的算法 想象你是一位股票交易员,手上有一支股票的每日涨跌数据.你想找出哪段连续的交易日能获得最大的收益.如果某天股票上涨5元,我们记为+5,下跌3元记 ...