2024年4月14日发(作者:)
学IT免不了要写代码,那么怎样才能写好代码?这是很多学员在学习中遇到的困惑。
个人认为,写代码就像写作文一样,思路是最关键的。在技术平台、框架、工具等方面都确
定之后,动手写之前花三分之一以上的开发时间去把所有的数据结构及其相互关系考虑清
楚。例如需要定义几个类,类和类之间的关系是怎样的,每个类里都有什么属性,每个类提
供一些什么样的方法等等。这些是最核心的。
数据结构要考虑得尽可能细,比如功能实现可能没问题,但是性能上不理想,这就说明
你的数据结构设计还需要改进。这些细节要反复考虑,交叉检验,直到自己觉得很周到了为
止。在此基础上,再注意实现的细节、测试用例、代码可读性,就应该可以写出让自己满意
的代码。具体说明如下:
1. 数据结构和核心算法
低水平程序员总在考虑代码,高水平程序员总在考虑数据结构及其之间的关系。数据结
构考虑清楚了,核心的算法自然就出来了,这就是关于每个类的每个方法如何实现的问题。
比如需要实现一个中位数查询方法,如果你前面确定了数据保存的格式是一个列表,那么你
可以考虑采用插入排序法;如果数据格式是自平衡二叉排序树(AVL),则只需直接返回根
节点就可以了。数据结构决定算法,所以你在考虑数据结构的时候,一定要尽可能地使数据
的结构和它的自然属性相匹配,不然后面的实现就会是一场噩梦。
2. 功能实现
思路确定后,实现过程也需要大量的构思活动。碰到你比较熟悉有经验的领域,你自然
可以轻车熟路,但难免会有一些你不太熟悉的技术需要尝试。作为一个程序员,最大的挑战
也是最大的乐趣所在,就是不断学习新的技术,没有这样的心态,很快就会落后。
那么遇到不熟悉的技术怎么办?建议先不要急着实现项目中的代码,自己另外维护一个
测试项目,在里边边查文档边学习,边做一个小功能,把 所有需要在项目中实现的功能先
在测试项目里跑通,然后再写项目里的代码。这样做的好处是把单个技术问题和其他潜在的
bug隔离开来,便于快速学习新技术。 否则,你直接在项目里写代码出错以后,要判断问
题的源头都要多费好几倍的精力。
3. 测试
测试很重要,设计测试用例就像开发时设计数据结构一样,也是很关键的。在设计测试
用例的时候,要把当时自己设计数据结构的思路全部忘掉,或者找别人来设计测试用例,不
然会不由自主地测试那些你已经考虑到了的地方。这样测试是跑通了,用户一用起来可能各
种边界条件会到处出问题。有人会推崇TDD的方法,先设计好测试用例,然后在开发过程
中确保所有测试通过。从开发质量管理和长期维护的角度来说TDD是很有必要的,但把它
摆到驱动开发的高度,就有点本末倒置了。
4. 代码可读性
要想自己满意,代码的可读性一定要好。要做到一年后甚至几年后你拿到自己写的代码,
还能很容易看明白当时的思路和实现。这就涉及到命名和注释的问题。命名就像超市里的商
品标签一样,要让看得人一目了然就知道这是个什么东西,注释也是很重要的,它可以用来
说明一段代码的作用,算法的设计思想,或者是方法调用的参数格式要求等。所以,在重要
或者复杂的地方,都需要详细地写一些注释,便于看代码的人清晰地了解你的思路。
综上所述,要想写出自己满意的代码,首先不要急于动手,要先仔细想清楚思路性的东
西,尤其是数据结构,然后在实现过程中大胆尝试小心验证,设计好测试用例,确保代码的
可读性,就可以在代码中表现出自己的最高水平。最后,建议所有的学员不光要注重提高技
术水平,更要从一开始就养成良好的编程习惯,这会让你在以后的工作中事半功倍。
发布者:admin,转转请注明出处:http://www.yc00.com/web/1713040803a2170983.html
评论列表(0条)