电脑是最诚实的。如果程序运行不正常,首先不要怀疑机器有问题。99.99%的情况下,您的代码有问题。遵守一些原则,养成一些好习惯,可以帮助你节省时间,写出简单漂亮的代码!1、修改代码后,自检是每个程序员必须具备的基本素质。不要心存侥幸,哪怕只改一个变量或者一行配置代码,也要自己去测试。严格要求自己,不要怕麻烦,这样以后就可以避免很多不必要的bug。2.尽量检查方法的入参,比如入参是否允许为空,入参长度是否符合你的预期长度。你可知道?许多低级错误是由于未验证参数引起的。如果你的数据库字段设置为varchar(16),而对方传递的是32位的字符串,你不检查参数,插入数据库就会出现异常。3.修改旧接口时,考虑接口兼容性。这是新手程序员容易犯的错误。许多错误是由于修改了旧的外部接口而没有使其兼容引起的。大部分关键问题比较严重,可能直接导致系统发布失败。如果您有修改原有接口的需求,尤其是对外提供服务,则必须考虑接口兼容性。4.对于复杂的代码逻辑,添加清晰的注释。通常不需要写太多注释,好的方法变量命名就是最好的注释。但是如果是业务逻辑复杂的代码,写清楚注释是非常有必要的,有利于后续的维护。5.代码采取措施避免运行时错误。在日常开发中,我们需要采取措施避免数组边界溢出、被零除、空指针等运行时错误。6、批量生产优先。因为在循环内远程调用和在循环外操作数据库比较耗费网络和IO资源,所以尽量不要,能一次性查回来的尽量不要查多次。但是不要一次查太多数据,最好一次batch500。7、多线程异步优先考虑合适的线程池而不是新建线程,同时考虑线程池是否隔离。使用线程池有几个优点。它帮助我们管理线程,避免增加创建和销毁线程的资源消耗。提高响应能力和重用性。同时需要考虑线程池隔离。不同的关键业务分配不同的线程池,线程池参数也要适当考虑。8、调用第三方接口,需要考虑异常处理、安全、超时重试。异常处理:如果调用了别人的接口,出现异常如何处理;Timeout:无法预知对方界面需要多长时间才能返回。一般设置一个timeout断开连接的时间来保护你的接口;重试次数:需要站在业务上想想你的接口调整失败,是否需要重试这个问题。9、考虑到主从延迟问题,一般数据库有主库和从库。写是写到主库,读一般是从库读。如果出现主从延时,很有可能你已经插入成功,但是无法查询。如果是重要业务,需要考虑是强制读取主库,还是修改设计方案。虽然有些业务场景可以接受轻微的主从延迟,但是在写完操作数据库的代码之后,还是要习惯性的思考是否存在主从延迟的问题。10.为重构分配时间,每一次混乱都会造成技术债务。就像金融一样,你做的时间越长,你创造的债务就越多。对于普通开发人员来说,花几天时间清理代码听起来不太好。这就是为什么养成每天还清一点债务的习惯的原因。好好规划自己的时间,随着时间的推移能够完善的代码量会非常惊人。
