努力多经历些东西,让自己的文字厚实点。
最近开发的一个模块需要对一些股票平台进行统计分析:
1.统计各个平台的访问量
2.统计访问量前十的股票
3.统计访问量前十的股票的来源
4.统计单个平台每日的访问量
5.统计单个平台访问量前十的股票
6.统计单支股票的每日的访问量
7.统计单支股票在各平台的访问量
。。。。
还有很多,总之一共需要画16张统计分析图。
拿到需求之后,按部就班地对每一张图的进行查询sql,定义实体,写mybatis的查询语句。当做到一半的时候,发现自己做不下去了,因为,我已经没法给这么多功能类似的函数命名了。
回头再看自己写的代码,发现了大量的冗余,很多代码是可以复用的。
重新思考之后,我发现查询语句其实只有三种,group by data/code/plat,所有的查询仅仅是在这些查询语句之中添加了类似if判断之类的东西。
不得已回头重新修改xml、DAO、service、controller,原本担心这样大改之后,会需要很多时间来重新调试代码,可以修改完毕之后,我惊讶地发现,程序仅仅出来几处很明显的因为变量拼写问题造成的错误。
没有一开始就强调复用多好,因为我知道没有切身经历,是没法去体会的。当年看编程思想和核心技术时,最多只能一知半解地去领悟作者的高明,某些方法的巧妙。
其实所有写代码的技巧,目的都是为了增强代码的阅读性。
很多人不乐意看自己写的代码,因为冗余繁杂的代码,使得自己再回顾时,都需要花大量的精力和时间才能读懂,更不用说别人。
代码复用的好处在于,你一开始就把自己所需要的工具分清了,当你需要使用某个工具时,你能很明确地说出它的名字,它需要的燃料,以及它应该返回的东西。
每次写代码之前,已经认真分析了那些代码时可以复用的,可以真到了写代码,发现自己当初的分析还是不够细致。
最后,不要觉得自己思考代码复用会浪费时间,要知道,对于类似的代码,你思考方法名变量名的时间,远远大于思考它的时间,同时在调试以及修改的过程中,你对自己代码的熟悉度越高,越方便自己调试。
我TM见过自己刚写完代码调试时不知道这个变量出现在哪里的逗逼,也是玩的溜。
代码复用的一些心得
猜你喜欢
转载自4876391520.iteye.com/blog/2251602
今日推荐
周排行