【9-2:代码规范】

算法级思想

代码规范(java)

  1. 方法参数必须一致,不要出现自动装箱拆箱操作
  2. SimpleDateFormat是线程不安全的
  3. 使用equals注意空指针
  4. 异常日志
    • 事务场景中如果出现异常被捕时注意回滚
    • 不要再finally中使用return方法
    • 应用中不可直接使用日志系统:log4j
  5. 单元测试
  • 好的单元测试必须遵守 AIR 原则
    • 单元测试在线上运行时,感觉像空气(AIR)一样并不但在测试质量的保障上,却是非常关键的,好的特点。
    • 单元测试宏观上来说,具有自动化、独立性、可重复执行
  • 单元测试应该是全自动执行的,并且非交互式的
    • 输出结果需要人工检查的测试不是一个好的单元测试。
    • 单元测试中不准使用 system.out来进行人肉验证,必须使用 assert 来验证。
  • 单元测试是可重复执行的,不能受外界影响
  1. 数据隐私信息应该做脱敏处理
  2. 用户请求传入的任何参数都必须做有效性验证
    • page size 过大导致内存溢出
    • 恶意 order by 导致数据库慢查询
    • 缓存击穿
    • 服务器端请求伪造(SSRF)
    • 任意重定向SQL注入,shel注入,反序列化注入·正则输入源串拒绝服务 ReDoS
相关推荐
脱胎换骨-军哥6 小时前
C++ 代码规范与格式化指南
开发语言·c++·代码规范
KaneLogger9 小时前
一套系统,让 AI 写代码的速度变成生产力
人工智能·程序员·代码规范
5系暗夜孤魂z14 小时前
优雅的.net REST API之FastEndpoints
log4j·.net
名字还没想好☜16 小时前
Go 表驱动测试实战:用 t.Run 子测试组织可维护的单元测试
golang·单元测试·log4j·go·testing
老白干20 小时前
jjwt 0.9.1 在 JDK 11+ 上的两个“坑”与完整解决方案
java·python·log4j
正在走向自律2 天前
AI 辅助研发内部复盘(2/5):老项目改造的工程化实践
人工智能·ai编程·代码规范·ai辅助编程·老代码改造
森叶3 天前
用 DataTransfer 模拟“用户选择本地文件“:不用系统对话框,也能给 `<input type=“file“>` 塞进真实文件
java·开发语言·log4j
用户40966601317513 天前
Lombok 你用对了吗?@Data 之外的 6 个隐藏神器
java·后端·代码规范
桦说编程4 天前
炮轰SDD:Spec驱动开发为何不适合绝大多数项目
llm·ai编程·代码规范
hoLzwEge6 天前
CLAUDE.md:为 Claude Code 注入项目记忆
深度学习·程序员·代码规范