30 多年的软件经验,总结 10 个最佳妙招。
最重要的一点是,每位法度榜样员应遵守:“ The best code is the code that isn’t written ”(最好的代码是不消被复写的代码)。你的代码越多,缺点就越多,找参预修复 bug 就越艰苦。
那么,何故敲出一手好代码?
8.同设计和开辟一样进行测试
好代码可以定义为易读、易懂、易调试、易改,最重要的还要少缺点。显然,要想敲出一手好代码,是要花不少时光,但这在长久来看是有意义的,因为你可以花更少时光及精力去保护和复竽暌姑你的代码。

事实上,我们可以将好代码等同于可复竽暌姑的代码,这也是下面提到的重要原则之一。代码可能只是完成了编程工作中短期目标的特定功能,但如不雅没人(包含你本身)愿意复竽暌姑你的代码,这代码在某种程度上可以说是不足且出缺点的。要么太复杂、要么太具体、要么在不合情况下极有可能崩掉落,或者其他法度榜样员可能不信赖你的代码。
下面无论你的经验程度若何,如不雅你持之以恒地将下面的妙招应用到你的代码中(包含你的实验或者原型),那么一手好代码顺手可得。
1、遵守单一义务原则
函数在法度榜样员的库中是迪?黝重要的抽象情势。可以被复竽暌姑的机会越多,你要写的代码就越少,这些代码就越靠得住。遵守 单一义务原则 的小小函数更有可能被从新应用。
2、最小化共享状况
对此可以得出一个结论,你应当优先选择静态无状况变量而不是对象的成员变量。
3、本地化副感化
幻想的副感化(例如打印到控制台、记录、改变全局状况、文件体系操作等)应当放置在零丁的模块中,而不是分散在全部代码中。功能上的副感化往往违背了单一的义务原则。
4、优先选择弗成变的对象
如不雅一个对象的状况在其构造函数中设置一次,并且不再次更改,则调试变得轻易得多,因为一旦构造精确就保持有效。这是降低软件项目复杂性的最简单办法之一。
5、多用接口罕用类
接收接口的函数(或C++中的模板参数或概念)比在类上操作的函数可重用性更强。
6、对模块应用优胜的原则
将软件项目分化成更小的模块(例如库和应用法度榜样),以实现模块化重用。模块的一些关键原则是:
- 最小化依附关系
- 每个项目都应当有一个单一明白的功能
- 不要反复
你应当尽力让你的项目保持小巧和明白。
7.避免持续
在面向对象编程中,持续,特别是虚拟函数在可重用性方面往往是一个逝世穴。我很少能成功地应用能覆盖类的库。
我并不是测试驱动开辟的铁杆拥戴者,但在你开端编写测试代码时,编写测试天然遵守了很多指导方针。它也有助于早点将缺点裸露出来。避免编写无用的测试,优胜的编码意味着更高等的测试(例如,单位测试中的集成测试或功能测试)在显示缺点方面更有效。
9.优先选择而不是手写标准库
我无法告诉你须要多久才能看到一个 std :: vector 或 std :: string 更好的版本,但它几乎老是浪费时光和精力。除了一个显而易见的事实,那就是你正在把 bug 惹人一个新的处所。(见技能10)其他法度榜样员不太可能重用您的代码,而不是那些被广泛懂得、支撑和测试的代码。
应当将函数之间的隐式共享状况最小化,无论它是文件感化域变量照样对象的成员字段,这有利于显式地将所需的值作为参数。当明白函数实现所需结不雅时,代码变得轻易懂得和重用。
10.避免写新代码
在编写一行代码之前先问问本身,有没有一个对象,函数或库已经做了你所须要的功能?你真的须要本身去实现这个功能,而不是调用另一个已经存在的功能吗?
总结 编程就比如是一种艺术情势或者一项活动,你只有经由过程赓续地演习,赓续地向他人进修,才能赓续地进步代码的质量,这些都将有利于你成为加倍高效的法度榜样员。
【编辑推荐】
- 帮你晋升Python的27种编程说话
- 还不知道这11个超酷的编程新对象你就 out 了!
- 学惯用Python编程时要避免的3个缺点
- Python开辟者面向文档编程的┞俘确姿势
- 学惯用Python编程时要避免的3个缺点
推荐阅读
0×01 媒介 小夏是一名通俗Mac用户,某天,他计算尝尝思维导图来记录工作进修。 他问同事小芳:“Mac下有啥好用的思维导图软件?” 小芳:“XMind呀,很实用>>>详细阅读
本文标题:30多年的软件经验,总结出10个编写出更好代码的技巧
地址:http://www.17bianji.com/lsqh/37042.html
1/2 1

网友点评
精彩导读
科技快报
品牌展示