我是东山啊

写出经得起时间考验的代码

2021.11.20

周五领导请我们吃饭时候和我说,他看了我写的代码,觉得我写的代码很不规范,经不起检验,听完心里是有些失落的,然后想到这周做的一个邮件功能,就更难受了。

当时领导提醒我收件人不能为空和null值,然后我就只对收件人地址做了校验,却没有对抄送人地址做校验,代码上线后,抄送和密送人为空,直接抛空指针异常了。

今天和黄同学吃饭,聊到了这件事情,我觉得自己犯的这个错误很蠢,黄同学直接就开喷了,说这就是你代码习惯的问题,找什么理由,哪有这么多你以为?出问题了你以为什么你以为?这就是你的问题,你现在做的业务比较接近B端,等你有机会做C端业务了,你就会遇到各种层出不穷的各种用户给你整活,你的接口会被塞进来各种各样的数据。

今天一整天脑子里都在想领导说的这个问题,是啊,像对不可信数据源的数据进行校验,这是一种基本的编码素养,这种素养需要脑子里时刻紧绷一根弦,而不是抱着 “需求里没写,就不会出现这个情况” 这样的态度去编码。

代码出现问题后,当时领导很吃惊的说,犯这样的错误,不应该的。

刚才到家后,把刚到的书拆开了,发现这些问题,书上其实都有,只是自己没有重视起来,只是快速的完成了任务而已。

把这个经历分享给同学们,领导说的很对,编写经得起时间考验和大规模应用考验的代码,是我们每个开发人员的不懈追求。