写代码思路是最关键的。假定采用的技术平台、框架、工具等已经确定了,那么在开始动手写之前,花三分之一以上的开发时间去把所有最核心的的数据结构及其相互关系考虑清楚。例如需要定义几个类,类和类之间的关系是怎样的,每个类里都有什么属性,每个类提供一些什么样的方法,等等。这些数据结构要考虑得尽可能细,比如功能实现可能没问题,但是性能上不理想,这就说明你的数据结构设计还需要改进。这些细节要反复考虑,交叉检验,直到自己觉得很周到了为止。在此基础上,再注意实现的细节、测试用例、代码可读性,就应该可以写出让自己满意的代码。具体说明如下:
1. 数据结构和核心算法
数据结构决定算法,这就是关于每个类的每个方法如何实现的问题,数据结构考虑清楚了,核心的算法自然就出来了。所以你在考虑数据结构的时候,一定要尽可能地使数据的结构和它的自然属性相匹配,不然后面的实现就会是一场噩梦。
2. 功能实现
作为一个程序员,最大的挑战也是最大的乐趣所在,就是不断学习新的技术,没有这样的心态,很快就会落后。思路确定后,实现过程也需要大量的构思活动。碰到你比较熟悉有经验的领域,你自然可以轻车熟路,但难免会有一些你不太熟悉的技术需要尝试。如果遇到不熟悉的技术,先不要急着实现项目中的代码,把单个技术问题和其他潜在的bug隔离开来,便于快速学习新技术。自己另外维护一个测试项目,在里边边查文档边学习,边做一个小功能,把所有需要在项目中实现的功能先在测试项目里跑通,然后再写项目里的代码。
3. 代码可读性
命名和注释能让你在一年甚至几年以后拿到自己的代码,还能很容易看明白当时的思路和实现。命名的关键在于可读性,要让看得人一目了然就知道这是个什么东西、什么用途。注释可以用来说明一段代码的作用,算法的设计思想,或者是方法调用的参数格式要求等。在重要或者复杂的地方,都需要详细地写一些注释。
要想写出自己满意的代码,首先不要急于动手,要先仔细想清楚思路性的东西,尤其是数据结构,然后在实现过程中大胆尝试小心验证,设计好测试用例,确保代码的可读性,做好命名和注释,就可以在代码中表现出自己的最高水平。养成好的编程习惯后,你在编程的前进道路上会事半功倍,受益终生。
评论