首页
学习
活动
专区
圈层
工具
发布
    • 综合排序
    • 最热优先
    • 最新优先
    时间不限
  • 来自专栏程序员云帆哥

    整理《阿里巴巴Java开发手册》常用的编码规约

    2、中括号是数组类型的一部分,数组定义如下:String[] args; 3、POJO类中布尔类型的变量,都不要加is,否则部分框架解析会引起序列化错误。 9、各层命名规约:    A) Service/DAO层方法命名规约      1) 获取单个对象的方法用get做前缀。      2) 获取多个对象的方法用list做前缀。       B) 领域模型命名规约      1) 数据对象:xxxDO,xxx即为数据表名。      2) 数据传输对象:xxxDTO,xxx为业务领域相关的名称。       2) 对象参数前加final,表示不允许修改引用的指向。      3) 类方法确定不允许被重写。 2) 因为Set存储的是不重复的对象,依据hashCode和equals进行判断,所以Set存储的对象必须重写这两个方法。      

    1.2K30编辑于 2022-05-12
  • 来自专栏bit哲学院

    JAVA编程规约之命名规约

    参考链接: Java命名约定 一命名规约  1. 【强制】 代码中的命名均不能以下划线或美元符号开始,也不能以下划线或美元符号结束。  【参考】各层命名规约:  A) Service/DAO 层方法命名规约  1) 获取单个对象的方法用 get 做前缀。  2) 获取多个对象的方法用 list 做前缀。  B) 领域模型命名规约  1) 数据对象:xxxDO,xxx 即为数据表名。  2) 数据传输对象:xxxDTO,xxx 为业务领域相关的名称。  说明:Long a = 2l; 写的是数字的 21,还是 Long 型的 2?【推荐】不要使用一个常量类维护所有常量,应该按常量功能进行归类,分开维护。 三 格式规约  1.

    97420发布于 2020-12-01
  • 来自专栏叽叽西

    阿里Java编程规约【四】OOP规约

    2. 【强制】所有的覆写方法,必须加 @Override 注解。 说明:getObject() 与 get0bject() 的问题。 2)【强制】RPC 方法的返回值和参数必须使用包装数据类型。 3)【推荐】所有的局部变量使用基本数据类型。 2. 参考(References) 《1. 2022 Java开发手册(黄山版).pdf 《设计模式之禅 第1版》 《Java技术手册 第6版》 《编写高质量代码:改善Java程序的151个建议》 白话阿里巴巴 Java开发手册(安全规约) - 李艳鹏 - 简书(https://www.jianshu.com/p/9528c4ea1504)

    86210编辑于 2022-05-17
  • 来自专栏全栈程序员必看

    java 104规约_电网104规约解包(java)

    【实例简介】电网104规约解包java代码 项目是围绕电网规约101规约(DL/T634.5101-2002)和104规约(DL/T634.5104-2009),项目基于Java语言。 可以完成规约的内容解析工作和组装工作。可用于实际场景的把发送报文的生成等工作。 【文件目录】 101_104规约解析 ├── LICENSE ├── README.md ├── docs │ ├── 附件1:广东电网配网自动化101规约实施细则(试行).docx │ ├── 附件2:广东电网配网自动化104规约实施细则(试行).docx │ └── 附件3:规约解析细则.xlsx ├── iec.iml ├── iec_analysis │ ├── iec_analysis.iml asdu.getInformationObjects()); //返回S确认命令 int receiveSeqNum = apdu.getSendSeqNumber() 1; byte[] recNum = new byte[2]

    1.5K21编辑于 2022-06-24
  • 来自专栏叽叽西

    阿里Java编程规约【十】 前后端规约

    2)401 Unauthorized:请求要求身份验证,常见对于需要登录而用户未登录的情况。 说明:Java 服务端如果直接返回 Long 整型数据给前端,Javascript 会自动转换为 Number 类型(注:此类型为双精度浮点数,表示原理与取值范围等同于 Java 中的 Double)。 扩展说明,在 Long 取值范围内,任何 2 的指数次的整数都是绝对不会存在精度损失的,所以说精度损失是一个概率问题。 说明:nginx 默认限制是 1MB,tomcat 默认限制为 2MB,当确实有业务需要传较大内容时,可以调大服务器端的限制。 9. 参考 2022 Java开发手册(黄山版).pdf

    1.2K20编辑于 2022-05-17
  • 来自专栏叽叽西

    阿里Java编程规约【九】 注释规约

    2.【强制】所有的抽象方法(包括接口中的方法)必须要用 Javadoc 注释、除了返回值、参数异常说明外,还必须指出该方法做什么事情,实现什么功能。 2)永久不用。前者如果没有备注信息,难以知晓注释动机。后者建议直接删掉即可,假如需要查阅历史代码,登录代码仓库即可。 10. 2)错误,不能工作(FIXME):(标记人,标记时间,[预计处理时间])在注释中用 FIXME 标记某代码是错误的,而且不能工作,需要及时纠正的情况。 参考 2022 Java开发手册(黄山版).pdf 白话阿里巴巴Java开发手册(安全规约) - 李艳鹏 - 简书(https://www.jianshu.com/p/9528c4ea1504)

    1.3K20编辑于 2022-05-17
  • 来自专栏全栈程序员必看

    java 104规约_IEC104规约Java开发主站程序

    【实例简介】 根据IEC104 2002规约开发,适用于读写西门子IEC104协议的电表和网关 【实例截图】 【核心代码】 IEC_emsClientService └── IEC_emsClientService communication │ │ │ ├── ActiveMQMessageListener$1.class │ │ │ ├── ActiveMQMessageListener$2. ClientErrorMessageTransfer.class │ │ │ ├── ClientMessageTransfer$1.class │ │ │ ├── ClientMessageTransfer$2. commons-logging.jar │ ├── commons-pool.jar │ ├── dom4j-1.6.1.jar │ ├── FuzzyEngine.jar │ ├── h2. │ ├── io │ │ ├── CO2.java │ │ ├── Curtain.java │ │ ├── Frequency.java │ │ ├── Humidity.java

    2.3K50编辑于 2022-08-31
  • 来自专栏Java架构师必看

    Java开发手册之安全规约

    说明:忽略参数校验可能导致: page size过大导致内存溢出 恶意order by导致数据库慢查询 任意重定向 SQL注入 反序列化注入 正则输入源串拒绝服务ReDoS 说明:Java

    82120编辑于 2021-12-18
  • 来自专栏全栈程序员必看

    Java开发手册之安全规约

    说明:忽略参数校验可能导致: page size过大导致内存溢出 恶意order by导致数据库慢查询 任意重定向 SQL注入 反序列化注入 正则输入源串拒绝服务ReDoS 说明:Java

    79720编辑于 2022-08-04
  • 来自专栏Java架构师必看

    Java开发手册之索引规约

    2) ref 指的是使用普通的索引(normal index)。 3) range 对索引进行范围检索。 2) 宁缺勿滥。认为索引会消耗空间、严重拖慢更新和新增速度。 3) 抵制惟一索引。认为业务的惟一性一律需要在应用层通过“先查后插”方式解决。

    55320编辑于 2021-12-18
  • 来自专栏叽叽西

    阿里Java编程规约【十一】 其他

    说明:不要在方法体内定义:Pattern pattern = Pattern.compile("规则"); 2.【强制】避免用 ApacheBeanutils 进行属性的 copy。 business = new Business(); // business.active(); System.out.println("it's finished"); } 参考 2022 Java 开发手册(黄山版).pdf 白话阿里巴巴Java开发手册(安全规约) - 李艳鹏 - 简书(https://www.jianshu.com/p/9528c4ea1504)

    54610编辑于 2022-05-17
  • 来自专栏全栈程序员必看

    Java开发手册之OOP规约

    【强制】相同参数类型,相同业务含义,才可以使用Java的可变参数,避免使用Object。 说明:可变参数必须放置在参数列表的最后。 正例:“test”.equals(object); 反例:object.equals(“test”); 说明:推荐使用java.util.Objects#equals(JDK7引入的工具类) 【强制】 2) 【强制】RPC方法的返回值和参数必须使用包装数据类型。 3) 【推荐】所有的局部变量使用基本数据类型。 2) 不允许修改引用的域对象,如:POJO类的域变量。 3) 不允许被重写的方法,如:POJO类的setter方法。 4) 不允许运行过程中重新赋值的局部变量。 2) 工具类不允许有public或default构造方法。 3) 类非static成员变量并且与子类共享,必须是protected。

    69010编辑于 2022-08-04
  • 来自专栏叽叽西

    阿里Java编程规约【五】日期处理

    2.【强制】在日期格式中分清楚大写的 M 和小写的 m,大写的 H 和小写的 h 分别指代的意义。 说明:日期格式中的这两对字母表意如下: 1)表示月份是大写的 M 2)表示分钟则是小写的 m 3)24 小时制的是大写的 H 4)12 小时制的则是小写的 h 3. 【强制】不允许在程序任何地方中使用:1)java.sql.Date 2java.sql.Time 3)java.sql.Timestamp。 反例:java.util.Date.after(Date) 进行时间比较时,当入参是 java.sql.Timestamp 时,会触发 JDK BUG(JDK9 已修 复),可能导致比较时的意外结果。 【推荐】避免公历闰年 2 月问题。闰年的 2 月份有 29 天,一年后的那一天不可能是 2 月 29 日。 7.【推荐】使用枚举值来指代月份。

    1.1K20编辑于 2022-05-17
  • 来自专栏叽叽西

    阿里Java编程规约【八】 控制语句

    表达式 1:表达式 2 中,高度注意表达式 1 和 2 在类型对齐时,可能 抛出因自动拆箱导致的 NPE 异常。 说明:以下两种场景会触发类型对齐的拆箱操作: 1)表达式 1 或 表达式 2 的值只要有一个是原始类型。 2)表达式 1 或 表达式 2 的值的类型不一致,会强制拆箱升级成表示范围更大的那个类型。 2)底层调用频度比较高的方法。毕竟是像纯净水过滤的最后一道,参数错误不太可能到底层才会暴露问题。 参考 2022 Java开发手册(黄山版).pdf 《编写高质量代码:改善Java程序的151个建议》 白话阿里巴巴Java开发手册(安全规约) - 李艳鹏 - 简书(https://www.jianshu.com

    1K20编辑于 2022-05-17
  • 来自专栏叽叽西

    阿里Java编程规约【二】常量定义

    说明:public static final Long NUM = 2l; 写的是数字的 21,还是 Long 型的 2? 3. 【强制】浮点数类型的数值后缀统一为大写的 D 或 F。 2)应用内共享常量:放置在一方库中,通常是子模块中的 constant 目录下。 2. 举个实例,java.io.ObjectStreamConstants 接口。 参考 2022 Java开发手册(黄山版).pdf

    78510编辑于 2022-05-17
  • 来自专栏全栈程序员必看

    Java开发手册之日志规约

    说明:推荐对日志进行分类,如将错误日志和业务日志分开存放,便于开发人员查看,也便于通过日志对系统进行及时监控。

    38510编辑于 2022-08-04
  • 来自专栏Java架构师必看

    Java开发手册之建表规约

    2) 不是varchar超长字段,更不能是text字段。 正例:商品类目名称使用频率高,字段长度短,名称基本一成不变,可在相关联的表中冗余存储类目名称,避免关联查询。 【推荐】单表行数超过500万行或者单表容量超过2GB,才推荐进行分库分表。 说明:如果预计三年后的数据量根本达不到这个级别,请不要在创建表时就分库分表。 对象 年龄区间 类型 字节 表示范围 人 150岁之内 unsigned tinyint 1 无符号值:0到255 龟 数百岁 unsigned smallint 2 无符号值:0到65535

    81720编辑于 2021-12-18
  • 来自专栏全栈程序员必看

    Java开发手册之建表规约

    2) 不是varchar超长字段,更不能是text字段。 正例:商品类目名称使用频率高,字段长度短,名称基本一成不变,可在相关联的表中冗余存储类目名称,避免关联查询。 【推荐】单表行数超过500万行或者单表容量超过2GB,才推荐进行分库分表。 说明:如果预计三年后的数据量根本达不到这个级别,请不要在创建表时就分库分表。 对象 年龄区间 类型 字节 表示范围 人 150岁之内 unsigned tinyint 1 无符号值:0到255 龟 数百岁 unsigned smallint 2 无符号值:0到65535

    84710编辑于 2022-08-04
  • 来自专栏叽叽西

    阿里Java编程规约【三】代码格式

    2)左大括号后换行。 3)右大括号前换行。 4)右大括号后还有 else 等代码则不换行;表示终止的右大括号后必须换行。 2. method(args1, args2, args3); 10. 额外加餐 文档注释标签 Java 语言规范还定义了一种特殊的注释,叫文档注释(doc comment),这种注释用于编写代码 API 的文档。 这个字符串参数使用的句法必须符合{@link java.util.regex.Pattern}制定的规则。 因为 package.html 不是 Java 源码文件,所以其中的文档应该是 HTML,而不能是 Java 注释(即不能包含在 /** 和 */ 之间)。

    1.5K10编辑于 2022-05-17
  • 来自专栏叽叽西

    阿里Java编程规约【一】命名风格

    反例:_name / __name / Object / name_ / name / Object 2. 【强制】所有编程相关的命名严禁使用拼音与英文混合的方式,更不允许直接使用中文的方式。 说明:本文 MySQL 规约中的建表约定第 1 条,表达是与否的变量采用 is_xxx 的命名方式,所以需要在 <resultMap> 设置从 is_xxx 到 xxx 的映射关系。 【参考】各层命名规约: A)Service / DAO 层方法命名规约: 1. 获取单个对象的方法用 get 做前缀。 2. B)领域模型命名规约: 1. 数据对象:xxxDO,xxx 即为数据表名。 2. 数据传输对象:xxxDTO,xxx 为业务领域相关的名称。 3. 参考 2022 Java开发手册(黄山版).pdf

    98020编辑于 2022-05-17
领券