我的代码规则

规则归类

  1. 【强制】
  2. 【推荐】

命名规则

  1. 【推荐】英文单词能使用单数就尽量使用单数
  2. 【强制】专有名词保留自身的大小写
  3. 【推荐】目录能使用英文的尽量使用英文
  4. 【强制】包含特殊字符的优先选择顺序:英文空格 》 连字符 》 下划线 》 英文点号

文案

  1. 【强制】中文文案排版,请参考《中文文案排版指北》进行中文排版。
  2. 【强制】提示给用户的说明文字结尾一般不需要标点符号。如果有断句,则可以以句号结尾。不应该使用感叹号结尾。
  3. 【推荐】在不支持语言包的系统中,使用英文表述。

CSS

  1. 【强制】CSS 书写顺序:
    1. 位置属性(position,top,right,z-index,display,float 等)
    2. 大小(width,height,padding,margin)
    3. 文字系列(font,line-height,letter-spacing,color,text-align 等)
    4. 背景(background,border 等)
    5. 其他(animation,transition 等)

CSHARP

  1. 【强制】类的私有属性使用下划线开始的 lowerCamelCase 命名。示例:

    /// <summary>
    /// 订单标识
    /// </summary>
    private string _orderId;
    
  2. 【强制】方法内部变量使用 lowerCamelCase 命名。

  3. 【推荐】命名空间最多保留一级在代码行中,其余的应该通过 using 的方式引入。

  4. 【推荐】能给阅读带来很大的帮助时才使用命名参数【命名参数】。

    命名参数(Named Arguments)就是说在调用函数时可以通过指定参数名称的方式来调用参数。它最大的好处就是方便调用参数时按调用者的需要来排列顺序,而不必死守函数声明时的顺序,同时结合默认参数值的特性,可以选择使用默认参数还是不使用默认参数。坏处:不能修改被调用函数的参数名称,否则编译会出错。

SQL

  1. 【强制】SQL 语句中别名必须加 AS 关键字,以保证数据库兼容性。
  2. 【强制】SQL 语句关键字大写。
  3. 【推荐】SQL 语句中尽量不要做时间之类的格式化,以保证查询性能。
  4. 【强制】SQL 语句的执行必须要参数化,以防止 SQL 注入。
  5. 【强制】使用 -- 进行行注释时,-- 后必须保留有且只有一个半角空格。
  6. 【强制】使用 COUNT(*),不要使用 COUNT(1),参考 https://blog.jooq.org/2019/09/19/whats-faster-count-or-count1/
  7. 【推荐】不要使用多重视图,原因有两个:视图上创建视图有可能会降低 SQL 的性能;DROP VIEW 时可能会报错,需要 CASECADE,维护比较麻烦。
  8. 【推荐】为了聚合使用 GROUP BY;为了去重使用 DISTINCT。二者效率上应该是差不多的。

MARKDOWN

  1. 【强制】.markdownlint.yaml

    MD002: false # First heading should be a top level heading
    MD013: false # Line length
    MD024: { siblings_only: true } # Multiple headings with the same content
    MD040: false # Fenced code blocks should have a language specified
    MD041: false # First line in file should be a top level heading
    

CHANGELOG

  1. 【强制】更新日志撰写,请参考如何维护更新日志

Git

  1. 【强制】Git 的 commit message 必须使用英文进行撰写,即使不地道
  2. 【推荐】Git 的 commit message 撰写应该要描述出所处项目的上下文环境

修改记录

  • 2020-04-08 17:32 新增了 CHANGELOG 撰写规范
原文地址:https://www.cnblogs.com/nehcdahc/p/my-code-style.html