注意事项_代码的一些些规范

零零散散也正式以打代码为生快一年半了,从代码写的稀碎到稍微能总结出一点东西,也算是一个一直在向上缓慢行走的状态了

很难说我喜欢代码这件事,原本选择也只是为了糊口,但从面向百度编程,到一点点写出带着自己风格的代码,再到可以略微静下来看一点技术博客,再到出了一点新技术会有好奇想去看看

让我觉得,也许我是适合的,也许会慢慢变得喜欢

一直很喜欢雷军,觉得在一众商人里,他的气质总是格格不入,一直记得他那句 “我不会写诗,但有人说我写的代码像诗一样优雅”

希望有一天,我也是在写诗

1、对于非必传字段,对于查询条件,对该字段进行判空并判null

2、永远也不要返回null

3、对于数据库里的查询,一定要考虑到查询不到要怎么办,返回为空要怎么办,成为肌肉记忆,避免空指针异常,一个成熟的小白,代码里不该有空指针异常这种东西

4、application.yml中设置成为配置项的,在注入时一定要设置为初始值,以防止没有该配置时报错

5、当数据不一致时,先查前端传送的参数是否一致,再看后端生成的数据

6、null!=a 优于 a!=null

7、”admin”.equals(str) 优于 str.equals(“admin”),因为str为空会导致空指针异常

8、长参数封装为DTO

9、if中的条件过于复杂时,封装为一个方法,返回true/false,提高代码可读性

10、在使用java8的流操作时,一定要考虑到null值的状况

11、一定一定要模拟完整的数据进行测试

12、要考虑到模拟数据不匹配现在状态的情况,例如从url的第三个/开始截取时,要考虑没有第三个/时该怎么办以及出现了根本就没有/的情况该怎么办

13、在需要请求其他接口时,请求体,请求url,返回数据统统打印成日志

14、过大的非必需或非常用查询字段不要存入数据库,会导致查询变慢,影响整个程序的运行,最好单独存一个表

15、对于一些解析和获取别人接口的数据,一定要考虑到如果解析失败或获取不到数据时是否需要重试,不要只考虑解析成功的情况,如Base64编码时,会出现图片url下载失败的问题

16、不要频繁的在循环里new对象,可以适当的new对象,如在遍历时,需要对map或list进行增减操作时可以new对象,map和list在for循环中遍历时都不能进行remove操作,需注意

17、在测试时,要尽可能全面的考虑到空值的情况,任何条件的空值都会导致程序突然报错,宁愿多写一些if条件来判断每一个有可能为空的对象,也不要因为代码繁琐而放过一个为空的对象

祝你快乐!

Original: https://www.cnblogs.com/deanCopy/p/16638504.html
Author: Dean_001
Title: 注意事项_代码的一些些规范

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/715333/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

  • Redis缓存相关的几个问题

    1 缓存穿透 缓存穿透是指查询一个一定不存在的数据,由于缓存是不命中时需要从数据库查询,查不到数据则不写入缓存,这将导致这个不存在的数据每次请求都要到数据库去查询,进而给数据库带来…

    技术杂谈 2023年7月24日
    088
  • 内部类

    当目前某个类现在需要一个只能该类使用的类时 1.能修饰类的权限修饰符只能时 默认不写(default) 和公共(public) 2.内部类私有化 正向思考: 四种权限修饰符常用来修…

    技术杂谈 2023年6月21日
    0112
  • IDEA一键部署SpringBoot项目到服务器

    1. 安装Alibaba Cloud Toolkit插件 2. 配置部署环境 2.1 为本次部署设置一个名字 2.2 选择被部署文件的生成方式 IDEA提供了三种方式: Maven…

    技术杂谈 2023年7月24日
    075
  • 十大经典排序算法(动图演示)

    转自:https://www.cnblogs.com/onepixel/articles/7674659.html 0、算法概述 0.1 算法分类 十种常见排序算法可以分为两大类:…

    技术杂谈 2023年6月1日
    074
  • JDBC事务–自动提交

    通过MYSQLIO执行IO操作。 commit=true/false,代码执行是一样的,都flush出去了,只是服务器端没有执行。 package com.zhuguang.jac…

    技术杂谈 2023年5月30日
    0105
  • Java获取Web服务器文件

    Java获取Web服务器文件 如果获取的是服务器上某个目录下的有关文件,就相对比较容易,可以设定死绝对目录,但是如果不能设定死绝对目录,也不确定web服务器的安装目录,可以考虑如下…

    技术杂谈 2023年7月24日
    082
  • [用户分享]CloudCanal助力万店掌MySQL同步ES构建宽表场景

    作者介绍 蒋鹏程,苏州万店掌软件技术有限公司 前言 CloudCanal 近期提供了自定义代码构建宽表能力,我们第一时间参与了该特性内测,并已落地生产稳定运行。开发流程详见官方文档…

    技术杂谈 2023年7月24日
    094
  • 上线一个阿里 QianKun “微前端”逼走了 2 位 90后

    作为一个团队领导者,需要经常帮助组员解决各类阻塞问题。 而我一直从事后端的开发,导致对前端的知识储备并没有那么丰富(实际很简陋)。 鉴于当下流行的开发模式几乎都是前后端分离的,为了…

    技术杂谈 2023年6月1日
    091
  • 必要的log:举手之劳却能少费很多事

    log里添加必要信息,节约排查问题成本 作为企服平台,我司对接的外部服务商很多。近期,随着交易量的激增,监控系统时不时会发出一些告警。 下面这条告警截图是轮值负责人发到我们沟通小组…

    技术杂谈 2023年7月11日
    088
  • 我的2021年终总结:初为人父,从头再来

    最近公司开始一股年终总结浪潮,看着同事们写大作文式的”内卷”总结,我不禁在想我这一年做了什么,那么也就有了这篇总结推文,当然它也是我每年的习惯。 传送门:E…

    技术杂谈 2023年5月31日
    0103
  • MySQL-指定排序

    where twui.id = #{operatorId} order by FIELD(cardStatus, 2, 1, 3), tpa.create_time Origina…

    技术杂谈 2023年6月21日
    094
  • MySQL中Join和inner join的区别,以及left join、right join之间的区别

    点击阅读 本文来自博客园,作者:一个程序员的成长,转载请注明原文链接:https://www.cnblogs.com/bingfengdada/p/15539727.html Or…

    技术杂谈 2023年7月11日
    070
  • 校验用户名是否存在案例

    案例 校验用户名是否存在 服务器响应的数据,在客户端使用时,要想当作json数据格式使用 $.get(type):将最后一个参数tupe指定为”json” …

    技术杂谈 2023年6月21日
    0100
  • 基础常用API总结2

    java.lang包下 返回值类型 方法 功能 boolean matches(String regex) 如果 当前字符串中regex(正则表达式)所表示的字符,如果有返回tur…

    技术杂谈 2023年6月21日
    091
  • 高频算法题之数组详细分析

    大家好,我是程序员学长~ 今天给大家带来一篇面试高频算法题之数组的详细解析,全文包含19道大厂笔试面试算法真题,一举拿下数组这个知识点,让算法不在成为进入大厂的绊脚石。 如果喜欢,…

    技术杂谈 2023年7月25日
    095
  • Ubuntu 忘记登录密码

    重启Ubuntu,随即长按Shift(单系统)进入Grub菜单 选择Ubuntu高级选项 选择recovery mode进入Recovery Menu界面,选择Drop to ro…

    技术杂谈 2023年7月25日
    0115
亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球