【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
相关推荐
学习论之费曼学习法1 天前
Agent评估与测试:如何确保AI系统的可靠性
人工智能·log4j
北风toto1 天前
log4j中文日志乱码问号-Linux启动jar包,输出中文日志变成问号?
linux·log4j·jar
jump_jump1 天前
把一份前端 checklist 变成 AI 的 Skill:让 CR 不再靠记忆
性能优化·ai编程·代码规范
jump_jump2 天前
TSRX:一份源码,编译到 React / Solid / Vue / Preact / Ripple
前端框架·代码规范·编译器
ppandss12 天前
JavaWeb从0到1-DAY5.1-Maven-JUnit
junit·log4j·maven
0和1的搬运工3 天前
基于Java+SpringBoot+Vue+HTML5高校教师电子名片系统(源码+LW+调试文档+讲解等)/高校教师/电子名片/系统/教育科技/教育信息化/名片管理/电子身份/教师信息管理/校园信息化
spring cloud·tomcat·log4j·maven·intellij-idea·dubbo·java-consul
铁皮哥3 天前
【后端开发】@Resource 和 @Autowired 到底有什么区别?为什么现在更推荐构造方法注入?
java·ide·spring boot·tomcat·log4j·idea·intellij idea
这个DBA有点耶4 天前
联合索引的顺序:写错等于白建(最左前缀+范围条件+覆盖索引详解)
数据库·代码规范
这个DBA有点耶5 天前
一张5000万行的表,加索引从45秒到0.02秒——索引设计你真的会吗
程序员·代码规范
张小洛5 天前
Spring 常用类深度剖析(工具篇 05):Assert:用断言代替 if-throw,代码更清爽
spring·log4j·参数校验·validate·assert·spring 常用类·代码简化