.NetCore WebApi编码规范

背景

在日常开发中代码的编写规范很重要,一方面后继维护,另一方面当出现问题的时候能够很快的定位。代码的规范和书写格式还是很重要的,能看出一个程序员日常的修养,以下以c#位为例进行讲解:

1.数据库脚本

在一些简短的sql脚本里,我们应该遵循关键字全大写,如;selelct或者Selelct应为SELECT,一些列包含关键字应该加上[],在脚本里尽量不要写一些需要隐式转换的语句,这样会消耗性能,排错困难。同时在建表的时候你应该清楚:

  • char:    固定长度,存储ANSI字符,不足的补英文半角空格。
  • nchar:   固定长度,存储Unicode字符,不足的补英文半角空格
  • varchar:  可变长度,存储ANSI字符,根据数据长度自动变化。
  • nvarchar: 可变长度,存储Unicode字符,根据数据长度自动变化。

2.Entitiy

统一采取大驼峰,并且和sql table做统一的映射,并且建立不同文件夹:比如我们建立一个request文件夹,专门放webapi的request body;接着建立一个response文件夹,放置传到前端的实体;同时一些简单地逻辑我们可以在实体类里通过属性的索引去解决,如下:

public string AccountNumber
        {
            get
            {
                if (!string.IsNullOrWhiteSpace(_accountNumber))
                {
                    return _accountNumber.Trim();
                }
                return string.Empty;
            }
            set { _accountNumber = value; }
        }
        public string _accountNumber = string.Empty;

3.变量

  • 定义全局常量:public const string CONST_STR="",常量名采用全大写
  • 对需要通过依赖注入的接口实例化:private readonly Xxxx _Xxx
  • 在一个class中定义变量顺序依次为:private, protected, public
  • 局部变量:遵循就近原则,何处使用何处定义
  • private, protected, public三种类型语句块之间空一行
  • public变量采用大驼峰形式:AaaBaa
  • private或者protected变量采用:_AaaBaa或者m_AaaBaa
  • 局部变量采用:aaaBaa
  • 所有变量应具有严格的业务意义,禁止出现类似于"checkData", "isTrue"等毫无意义的命名

  • 方法参数使用小驼峰:aaaBaa

  • 除构造函数外,数量不允许超过7个,8个及8个以上参数使用对象传参或者采用数组参数

4.函数

  • 两个函数之间空一行
  • 使用Tuple作为返回值时,不允许使用result.Item1, result.Item2等,必须指定Tuple的参数名,且调用时也必须同时指定每个元素类型及参数名,这样避免装箱拆箱的转换
  • 在函数里尽量少使用for,foreach,可以使用linq,整体代码看起来简洁
  • 代码中,不允许一行出现两个分号
  • 对于if,for等代码,即使只有一行代码,也须使用花括号
  • 每行代码仅包含一个赋值操作符,不允许在同一行代码对两个变量赋值
  • 两处或两处以上的固定字符串,使用全局变量或静态类变量定义,禁止在代码中直接使用硬编码
  • 字符串使用Trim+ToUpper(或ToLower)方式进行比较

5.枚举

定义枚举不允许使用默认值,必须手动指定枚举值,且值依次倍增(利于某些情况使用位运算),例如

public enum ExampleEnum
{
   # 错误示例
   ExampleEnum1;
   ExampleEnum2;
   # 正确示例
   ExampleEnum3 = 1;
   ExampleEnum4 = 2;
   ExampleEnum5 = 3;
   ExampleEnum6 = 4;
}
扫描二维码关注公众号,回复: 11353384 查看本文章

猜你喜欢

转载自blog.csdn.net/qq_40677590/article/details/105094827