编写可读代码的艺术 - 少写代码
2022-03-29 本文已影响0人
DZQANN
不要费神实现功能
开头第一句话就是描写了曾经的我:当你开始一个项目,自然会很兴奋并且想着你希望实现的所有很酷的功能。之前做过一个Excel上传生成tariff的Story。我记得特别清楚,上来我先写了报错Excel文件的生成,给有问题的单元格加备注之类的。然后我花了大量的时间写输入格式的纠错。最后才写的核心逻辑。这就导致了这个Story严重delay。
小的story就无所谓了,大的story应该先把最核心的逻辑都完成,至少要让用户可以看到大概的雏形。其他的一些小功能应该是后续不断的完善。
质疑和拆分需求
我们经常会碰到的例子就是,我们总是一开始就要去思考性能性能。比如两个list匹配,做法就是把一个list变成key value pair,然后用另一个list一个一个match。可实际上可能两个list都是只有几个元素,简单的for循环就可以,基本没有性能的差异,同时for循环的可读性更好。
在性能没有很大形象的情况下,我们应当牺牲性能换取可读性
使用缓存
在做优化的时候最先想到的就是缓存。缓存简单做的话就是一个Map,我们的系统里也有一个CacheResult注解通过aop的方式做了缓存。更高级的一点的用法就是缓存框架了ehcache, guava之类的。
对于缓存框架的使用后面可以再研究下
熟悉API
多了解系统中已经实现的功能,就可以避免自己写了重复的代码。对于一个大的项目,如何查询自己需要的逻辑是否已有也是一门技术。。