代码复用的一些心得

努力多经历些东西,让自己的文字厚实点。

最近开发的一个模块需要对一些股票平台进行统计分析:
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