Java 开发基础规范

推荐 阿里巴巴 java开发手册


Java 相关命名、规范

  • 命名:
    • Java 类名命名(用名词性单词组合)
      • 普通类名:首字母大写,需要两个、多个单词表达的,使用大驼峰命名法进行命名,eg:CategoryService
      • 抽象类名:在普通类名的基础上对其命名后加上 Abstract,eg:CategoryAbstract
      • 自定义异常类名:在普通类名的基础上对其命名后加上 Exception,eg:CategoryException
      • 队列类名:在普通类名的基础上对其命名后加上 Queue,eg:CategoryQueue
      • 后台任务类名:在普通类名的基础上对其命名后加上 Task 或 Job,eg:CategoryTask、CategoryJob
      • Servlet 类名:在普通类名的基础上对其命名后加上 Servlet,eg:CategoryServlet
      • Filter 类名:在普通类名的基础上对其命名后加上 Filter,eg:CategoryFilter
      • 工厂类名:在普通类名的基础上对其命名后加上 Factory,eg:CategoryFactory
      • 工具类名:在普通类名的基础上对其命名后加上 Util,eg:CategoryUtil
      • 测试类名:在普通类名的基础上对其命名后加上 Test,eg:CategoryServiceTest
      • 数据库访问层接口类名:在普通类名的基础上对其命名后加上 Dao,eg:CategoryDao
      • 数据库访问层实现类名:在普通类名的基础上对其命名后加上 DaoImpl,eg:CategoryDaoImpl
      • 业务层接口类名:在普通类名的基础上对其命名后加上 Service,eg:CategoryService
      • 业务层实现类名:在普通类名的基础上对其命名后加上 ServiceImpl,eg:CategoryServiceImpl
      • 控制层类名:在普通类名的基础上对其命名后加上 Controller,eg:CategoryController、CategoryAction、CategoryActivity
    • 常量名:全部字母大写,有多个单词用下划线分隔,eg:MY_AGE
    • 常规变量名:首字母小写,需要两个、多个单词表达的,使用小驼峰命名法进行命名,eg:categoryName
    • 复数变量名:首字母小写,需要两个、多个单词表达的,使用小驼峰命名法进行命名,eg:
      • List:categoryList
      • Map:categoryMap
      • Set:categorySet
    • package 名:所有单词全部小写,即使有多个单词组成,且不能使用下划线连接,或是其他任意字符连接,eg:googlebook
    • 方法参数名:首字母小写,需要两个、多个单词表达的,使用小驼峰命名法进行命名,eg:categoryName
    • 方法命名(用动词性单词开头):
      • 数据库访问层方法名
        • saveCategory()
        • deleteCategoryByObject()
        • deleteCategoryById()
        • updateCategoryByObject()
        • updateCategoryById()
        • findCategoryList()
        • findCategory()
      • 业务层方法名
        • saveCategory()
        • deleteCategoryByObject()
        • deleteCategoryById()
        • updateCategoryByObject()
        • updateCategoryById()
        • findCategoryList()
        • findCategory()
        • initCategory()
        • openConnection()
        • closeConnection()
        • writeFile()
        • readFile()
      • 视图层(JSP、FreeMarker 等)
        • categoryList
        • categoryAdd
        • categoryUpdate
        • categoryEdit
        • categoryDetail
        • categoryTree
  • 规范:
    • 当一个类有多个构造函数,或是多个同名方法,这些函数 / 方法应该按顺序出现在一起,中间不要放进其它函数 / 方法
    • 导入包的时候,import 后面不要使用通配符 * 来代替有些包的导入
    • 大括号与 if, else, for, do, while 语句一起使用,即使只有一条语句(或是空),也应该把大括号写上
    • 不要使用组合声明,比如 int a, b;
    • 需要时才声明,并尽快进行初始化
    • 注解紧跟在文档块后面,应用于类、方法和构造函数,一个注解独占一行
  • 注释:
  • 块注释
/*
logger.info("---------开始---------");
SubmitOrderInfo submitOrderInfo = getSubmitOrderInfo(orderId);
*/
  • 行注释,只用来注释
//ResultInfo resultInfo = orderService.orderStateUpdate(voucherNo);
  • 行注释,用来解释
private int categoryId = 1; // 1 是顶级分类的 ID

Mysql 相关命名、规范

  • 表名:全部小写,需要两个、多个单词表达的使用下划线隔开,eg:prd_category
  • 字段名:全部小写,需要两个、多个单词表达的使用下划线隔开,eg:category_name
  • 注释
    • - -注释示例
  • 常用数据库对象命名规则表 :
数据库对象 对象命名前缀 习惯用法 备注
tb_ 表名中单词使用单数长度不能超过30个字符
主键 pk_ pk_表名 长度不能超过30个字符
外键 fk_ fk_表名、字段名 长度不能超过30个字符
唯一键 uk_ uk_表名、字段名 长度不能超过30个字符
Check约束 ck_ ck_表名、字段名 长度不能超过30个字符
索引 idx_ idx_表名、字段名 长度不能超过30个字符
视图 v_ 长度不能超过30个字符
触发器 tri_ 长度不能超过30个字符
函数 func_ 长度不能超过30个字符
序列 seq_ 长度不能超过30个字符

  • 程序 SQL 补丁文件命名,eg:
    • 20160306-update-更新所有会员密码
    • 20160312-delete-删除指定会员密码
    • 20160313-insert-新增会员数据
    • 20160315-alter-更新会员邮箱字段长度

编码规范

  • 数据源连接:jdbc:mysql://localhost:3306/youshop?characterEncoding=utf-8
  • Java 文件编码:UTF-8
  • XML 文件编码:UTF-8
  • Properties 文件编码:UTF-8
  • Mysql 字符集:UTF-8

其他

  • Tab 缩进为 4 个空格,使用 IntelliJ IDEA 标准格式化即可
  • TODO 标记必须使用个人自定义 TODO,不能使用公共的
  • SVN、Git 提交必须有 Commit Message

关注公众号获取慕课网视频

Java 开发基础规范_第1张图片
爱学习资源网

本文摘自:YouMeek

你可能感兴趣的:(Java 开发基础规范)