• 关于打代码的一些些心得


    些许废话

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

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

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

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

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

    一些零碎的注意事项

    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条件来判断每一个有可能为空的对象,也不要因为代码繁琐而放过一个为空的对象

  • 相关阅读:
    给你的模糊测试开开窍——定向灰盒模糊测试(Directed Greybox Fuzzing)综述
    python动态生成变量名以及python函数的命名规则这样的疑问
    prisma使用mongodb副本集群报错引发的一些列问题
    centos 7 yum install -y nagios
    IINA for Mac v1.3.5 音视频软件 安装教程(保姆级)
    谁不是一边升学求职,一边死在路上
    MCE | 促炎症的 PCD——细胞焦亡
    Oracle数据泵导入和导出命令
    Mybatis01
    Spring 深入——IoC 容器 01
  • 原文地址:https://blog.csdn.net/Dean_xiu/article/details/126599385