作家
登录

30多年的软件经验,总结出10个编写出更好代码的技巧

作者: 来源: 2017-08-31 10:40:01 阅读 我要评论

30 多年的软件经验,总结 10 个最佳妙招。

最重要的一点是,每位法度榜样员应遵守:“ The best code is the code that isn’t written ”(最好的代码是不消被复写的代码)。你的代码越多,缺点就越多,找参预修复 bug 就越艰苦。

那么,何故敲出一手好代码?

8.同设计和开辟一样进行测试

好代码可以定义为易读、易懂、易调试、易改,最重要的还要少缺点。显然,要想敲出一手好代码,是要花不少时光,但这在长久来看是有意义的,因为你可以花更少时光及精力去保护和复竽暌姑你的代码。

30多年的软件经验,总结出10个编写出更好代码的技能

事实上,我们可以将好代码等同于可复竽暌姑的代码,这也是下面提到的重要原则之一。代码可能只是完成了编程工作中短期目标的特定功能,但如不雅没人(包含你本身)愿意复竽暌姑你的代码,这代码在某种程度上可以说是不足且出缺点的。要么太复杂、要么太具体、要么在不合情况下极有可能崩掉落,或者其他法度榜样员可能不信赖你的代码。

下面无论你的经验程度若何,如不雅你持之以恒地将下面的妙招应用到你的代码中(包含你的实验或者原型),那么一手好代码顺手可得。

1、遵守单一义务原则

函数在法度榜样员的库中是迪?黝重要的抽象情势。可以被复竽暌姑的机会越多,你要写的代码就越少,这些代码就越靠得住。遵守 单一义务原则 的小小函数更有可能被从新应用。

2、最小化共享状况

对此可以得出一个结论,你应当优先选择静态无状况变量而不是对象的成员变量。

3、本地化副感化

幻想的副感化(例如打印到控制台、记录、改变全局状况、文件体系操作等)应当放置在零丁的模块中,而不是分散在全部代码中。功能上的副感化往往违背了单一的义务原则。

4、优先选择弗成变的对象

如不雅一个对象的状况在其构造函数中设置一次,并且不再次更改,则调试变得轻易得多,因为一旦构造精确就保持有效。这是降低软件项目复杂性的最简单办法之一。

5、多用接口罕用类

接收接口的函数(或C++中的模板参数或概念)比在类上操作的函数可重用性更强。

6、对模块应用优胜的原则

将软件项目分化成更小的模块(例如库和应用法度榜样),以实现模块化重用。模块的一些关键原则是:

  • 最小化依附关系
  • 每个项目都应当有一个单一明白的功能
  • 不要反复

你应当尽力让你的项目保持小巧和明白。

7.避免持续

在面向对象编程中,持续,特别是虚拟函数在可重用性方面往往是一个逝世穴。我很少能成功地应用能覆盖类的库。

我并不是测试驱动开辟的铁杆拥戴者,但在你开端编写测试代码时,编写测试天然遵守了很多指导方针。它也有助于早点将缺点裸露出来。避免编写无用的测试,优胜的编码意味着更高等的测试(例如,单位测试中的集成测试或功能测试)在显示缺点方面更有效。

9.优先选择而不是手写标准库

我无法告诉你须要多久才能看到一个 std :: vector 或 std :: string 更好的版本,但它几乎老是浪费时光和精力。除了一个显而易见的事实,那就是你正在把 bug 惹人一个新的处所。(见技能10)其他法度榜样员不太可能重用您的代码,而不是那些被广泛懂得、支撑和测试的代码。

应当将函数之间的隐式共享状况最小化,无论它是文件感化域变量照样对象的成员字段,这有利于显式地将所需的值作为参数。当明白函数实现所需结不雅时,代码变得轻易懂得和重用。

10.避免写新代码

在编写一行代码之前先问问本身,有没有一个对象,函数或库已经做了你所须要的功能?你真的须要本身去实现这个功能,而不是调用另一个已经存在的功能吗?

总结 编程就比如是一种艺术情势或者一项活动,你只有经由过程赓续地演习,赓续地向他人进修,才能赓续地进步代码的质量,这些都将有利于你成为加倍高效的法度榜样员。

【编辑推荐】

  1. 帮你晋升Python的27种编程说话
  2. 还不知道这11个超酷的编程新对象你就 out 了!
  3. 学惯用Python编程时要避免的3个缺点
  4. Python开辟者面向文档编程的┞俘确姿势
  5. 学惯用Python编程时要避免的3个缺点
【义务编辑:未丽燕 TEL:(010)68476606】

  推荐阅读

  Mac下的破解软件真的安全吗?

0×01 媒介 小夏是一名通俗Mac用户,某天,他计算尝尝思维导图来记录工作进修。 他问同事小芳:“Mac下有啥好用的思维导图软件?” 小芳:“XMind呀,很实用>>>详细阅读


本文标题:30多年的软件经验,总结出10个编写出更好代码的技巧

地址:http://www.17bianji.com/lsqh/37042.html

关键词: 探索发现

乐购科技部分新闻及文章转载自互联网,供读者交流和学习,若有涉及作者版权等问题请及时与我们联系,以便更正、删除或按规定办理。感谢所有提供资讯的网站,欢迎各类媒体与乐购科技进行文章共享合作。

网友点评
自媒体专栏

评论

热度

精彩导读
栏目ID=71的表不存在(操作类型=0)