代码改变世界

开发规范

2017-03-13 13:58  小诩  阅读(173)  评论(0编辑  收藏  举报
转至元数据结尾 转至元数据起始

文件规范

  • 文件必须使用UTF-8编码

命名规范

  • 数据库命名规范
    • 数据库表命名均遵循以下规范:
      • 多个单词用下划线分隔,全部小写,例如:mail_message。
    • 数据库字段命名遵循以下规范:
      • 表字段全部小写,多个单词用下划线分隔,例如:message_id。
      • 每张表必加唯一标识;按需可补充create_time 、creator、update_time 、updater,记录创建时间、创建人、修改时间、修改人 ;
      • 有逻辑删除需求的表,可选增加status_id字段(int类型),用来标识字段是否被逻辑删除;-1表示无效,0表示正常,1表示逻辑删除
      • 字段类型可选范围int,varchar,timestamp,长度设定要考虑扩展性
      • 多表之间不设定外键约束
      • 多表之间不进行关联查询
  • Java源码命名规范
    • 目录 的命名
      • 项目rest-example:
        1. src/main/java 源码目录
        2. src/main/resources 资源文件目录
        3. src/main/webapp web文件目录
        4. src/test/java 测试源码目录
        5. src/test/resources 测试资源文件目录
    • Package 的命名
      • Package 的名字应该都是由一个小写单词组成,包的命名一般都是按照域名+公司名+项目名+具体反映包内容的名字。例如:cn.dinfo.xf。
      • Package 存在多个单词,可以使用下划线分割,例如cn.dinfo.xf.words_tag
      • 此外,对于包名我们做如下约定:
        1. 工具类包名前缀为 .utils
        2. servlet类包名前缀为 .controller
        3. 逻辑功能类包前缀为 .service
        4. 具体的逻辑功能内容前缀为功能的缩写.service.order
    • Class 的命名
      • 类名是个名词,采用大小写混合的方式,每个单词的首字母大写。尽量使你的类名简洁而富于描述。例如:DataFile或InfoParser。
      • 使用完整单词,避免缩写词(除非该缩写词被更广泛使用,像URL,HTML)。 
      • 异常类最后加上「Exception」(例:SQLException)。 
      • 接口的命名和类的命名大体相同,只是接口一般用形容词。例如:Runnable。
      • 测试类名后缀统一为Test,例如QAControllerTest
    • Class 变量的命名
      • 变量的名字必须用一个小写字母开头。后面的首个单词用大写字母开头。 例如:debug 获debugService。
      • 变量为数据实体,采用驼峰,例如数据实体为messageId
    • Static Final 变量的命名
      • Static Final 变量的名字应该都大写,并且指出完整含义,多个单词之间用下划线分隔。例如:MAX_UPLOAD_FILE_SIZE=1024。
    • 数组的命名
      • 数组应该总是用下面的方式来命名:byte[] buffer;而不是:byte buffer[];
    • 方法的命名
      • 方法名以小写字母动词开头,后续的各个单词开头字母大写,数据实体构造器除外。例如:inputFile()。
      • JavaBeans的相关函数、设置成员变量的方法用“set”+成员变量名表示,读取成员变量的方法用“get”+成员变量名表示。但是,对于布尔值(boolean)读取成员变量的方法用“is”+成员变量名表示。
      • 名词单数,必须使用单数英文,如Account、Customer。
      • 对于数组,列表等对象集合的命名,必须使用复数,而且最好按照英文的语法基础知识使用准确的复数形式,如 List < Account > accounts、Set< Strategy > strategies。
      • 方法名的命名,需要使用“动宾结构短语”或“是动词+表语结构短语”,例如createOrder(Order order),removeOrders(List<Order> orders)
      • 添加:add,创建;例如addStudent
        修改:update,修改;例如updateStudent
        查询:get,获取单个对象;load,加载资源;list,不分条件列举;search,有条件查询;
        删除:delete,删除;remove,移除;逻辑修改为无效状态属于删除

代码规范

  • 代码
    • 文件头声明
      • /**
         * Description: 问答接口
         * Author: perkins
         * Date: 2017/3/9
         */
    • 代码块书写格式
      if (true){
         //body 必须包含大括号  即使只有一行代码 避免后期增加代码时出现错误

                      }

  • 注释
    • 类注释
      • /**
         * Description: 问答评价
         * Author: perkins
         * Date: 2017/3/9
         */
  • SQL语句
    • 代码中书写的SQL语句要求SQL关键字全部大写,表名和字段名小写。例如:SELECT user_id, name FROM account WHERE user_id > ? AND depart = ? ORDER BY name
  • Java注释有三种类型,分为单行注释(//),多行注释(/* */)和文档注释(/** */)。
    • 注释应放在代码的上方或右方,不能放在其下方。
    • 全局变量要有较详细的注释,包括对其功能、取值范围、哪些函数或过程存取它以及存取时注意事项等的说明。 
    • 在每个源文件的头部要有必要的注释信息,包括:文件名;版本号;作者;生成日期;模块功能描述(如功能、主要算法、内部各部分之间的关系、该文件与其它文件关系等);主要函数或过程清单及本文件历史修改记录等。
    • 对于代码中的逻辑分支或循环条件需要书写注释
      if (some condition){ 
      //符合某个条件,应该这样处理
      }else{
      //否则应该那样处理
      }
    • java的类和方法,都需要用文档注释。例:
      • /**
         * Description: 问答评价
         * Author: perkins
         * Date: 2017/3/9
         */