新增11条新规约!阿里Java开发手册|黄山版,拥抱规范,远离伤害

日期格式化统一使用小写'y'。明确区分大写'M'和小写'm'的含义。使用System.currentTimeMillis()获取当前毫秒数。禁止使用java.sql.Date、java.sql.Time、java.sql.Timestamp。避免直接使用一年为365天。集合处理 满足Comparator实现类的三个条件。泛型集合使用菱形语法。集合初始化时指定初始值大小。使用entr...
新增11条新规约!阿里Java开发手册|黄山版,拥抱规范,远离伤害
阿里开发手册,这本汇集了近万名开发同学的智慧结晶,以高效、容错和协作性为开发核心,旨在让Java开发者提升协作效率和代码质量,不仅知其然,更知其所以然。以下是部分关键规则概述:
命名风格
所有命名避免以下划线或美元符号开头或结尾。避免使用拼音与英文混合,中文命名则应清晰、规范。代码和注释中严禁使用种族歧视或侮辱性词语。类名采用UpperCamelCase风格,特定情况例外。方法、参数、成员变量、局部变量统一使用lowerCamelCase。常量名全大写,单词间用下划线隔开。抽象类名开头使用"Abstract"或"Base",异常类名结尾为"Exception"。包名小写,点分隔符间有且仅有一个英语单词,类名与包名相适应。避免成员变量、局部变量命名重复,以保持可读性。常量定义
禁止使用未经定义的魔法值。数值长整型赋值时,数值后加大写"L"。浮点数数值后缀统一为大写"D"或"F"。常量统一定义,避免重复定义。常量按功能进行归类,维护层次清晰。易懂常量应作为应用内共享常量。枚举类名加"Enum"后缀。代码格式
方法参数间加空格。IDE设置文本文件编码为UTF-8。文件换行符使用Unix格式。单个方法总行数不超过80行。避免不必要的空格使等号对齐。不同逻辑、语义、业务代码间插入空行以提升可读性。对象导向编程规约
字符串连接使用StringBuilder。使用final声明类、成员变量、方法、本地变量。慎用Object的clone方法。日期时间处理
日期格式化统一使用小写'y'。明确区分大写'M'和小写'm'的含义。使用System.currentTimeMillis()获取当前毫秒数。禁止使用java.sql.Date、java.sql.Time、java.sql.Timestamp。避免直接使用一年为365天。集合处理
满足Comparator实现类的三个条件。泛型集合使用菱形语法。集合初始化时指定初始值大小。使用entrySet遍历Map。并发处理
资金敏感信息使用悲观锁。使用CountDownLatch进行异步转同步。避免Random实例多线程使用。通过双重检查锁实现延迟初始化。控制语句
循环体内的操作尽量移至循环外。避免使用取反逻辑运算符。公开接口进行入参保护。注释规约
注释需准确反映设计思想和逻辑,描述业务含义。避免冗余注释。异常日志
错误码分类明确。实现正确的防重放机制。异常处理区分unchecked/checked异常。单元测试
重构不可测代码。与测试人员共同确定测试范围。在提测前完成单元测试。安全规约
实现防重放机制。严格检查和控制文件上传。配置文件中的密码加密。MySQL数据库
考虑分库分表。选择合适的字符存储长度。SQL语句
避免in操作,控制集合元素数量。使用utf8或utf8mb4字符集。使用TRUNCATE TABLE谨慎。ORM映射
更新记录时更新update_time字段。避免大而全的数据更新接口。事务使用需谨慎。工程结构
推荐应用分层结构。二方库依赖最低限度。服务器配置优化。遵守这些规则,将帮助开发者提升代码质量、协作效率和安全性,从而构建出更稳定、高效的软件系统。
2024-10-24
mengvlog 阅读 45 次 更新于 2025-10-30 14:30:19 我来答关注问题0
檬味博客在线解答立即免费咨询

Java相关话题

Copyright © 2023 WWW.MENGVLOG.COM - 檬味博客
返回顶部