写出优美代码的两个方式:一步到位VS迭代优化
最近把手头这个安卓APP的所有事务性方法都写完了,有了以下体会,新手体会,老鸟轻拍
想写成优美代码的人一般都会有这样的想法:
一定要在写每一句代码,写每一个方法,构造每一个类的时候,都要记得优化:解耦以复用,拆分方法以复用,使用循环减少冗余,限制循环次数减少无效操作,等等。。
这个想法一定没有错,但很多时候往往会是这样的情况:
- 当功能一复杂,比如你已经分解了几个方法,比如你已经使用了几层循环(有点过分...),比如在多线程中
- 你经常无法一步到位地完成那么多优化
- 这往往造成你写一句代码会思考很久
当然,这样并没有不好,想好再写能减少很多无用功,即使想很久但总的花时间更少,是很多高手提倡的方式
但对于一个普通人来说,你往往需要意识到由于你思考能力的限制,很多优化的方式在写完整个方法之后会更容易发现 ,所以两种写代码的方式在时间上会有这么一个平衡点:一步到位写出完美代码需要的时间 == 先快速写出功能,再修改优化需要的时间
所以你需要在平时的写代码过程中体会你的这个平衡点在哪里,然后根据实际情况,选择其中一种方式写
而当你不得不选择后者的时候,这样的具体步骤是推荐的:只需要尽量保证不要出BUG的严谨,同时记下要优化的地方,然后先把功能写出来,之后如果有机会,再回过头来优化
上面说的是时间(效率)维度,在这个维度上两种方式有一个平衡点
另外还有一个维度,就是能力锻炼的维度,在这个维度上一步到位肯定是完胜过迭代优化
话就说到这里,最后你要怎么把我你的平衡点,就是你自己的事了!