30 多年的软件经验,总结 10 个最佳妙招。
那么,何故敲出一手好代码?
好代码可以定义为易读、易懂、易调试、易改,最重要的还要少缺点。显然,要想敲出一手好代码,是要花不少时光,但这在长久来看是有意义的,因为你可以花更少时光及精力去保护和复竽暌姑你的代码。
事实上,我们可以将好代码等同于可复竽暌姑的代码,这也是下面提到的重要原则之一。代码可能只是完成了编程工作中短期目标的特定功能,但如不雅没人(包含你本身)愿意复竽暌姑你的代码,这代码在某种程度上可以说是不足且出缺点的。要么太复杂、要么太具体、要么在不合情况下极有可能崩掉落,或者其他法度榜样员可能不信赖你的代码。
下面无论你的经验程度若何,如不雅你持之以恒地将下面的妙招应用到你的代铝闼楱包含你的实验或者原型),那么一手好代码顺手可得。
1、 遵守单一义务原则
函数在法度榜样员的库中是迪?黝重要的抽象情势。可以被复竽暌姑的机会越多,你要写的代码就越少,这些代码就越靠得住。遵守 单一义务原则 的小小函数更有可能被从新应用。
2、最小化共享状况
应当将函数之间的隐式共享状况最小化,无论它是文件感化域变量照样对象的成员字段,这有利于显式地将所需的值作为参数。当明白函数实现所需结不雅时,代码变得轻易懂得和重用。
6、对模块应用优胜的原则
对此可以得出一个结论,你应当优先选择静态无状况变量而不是对象的成员变量。
3、本地化副感化
幻想的副感化(例如打印到控制台、记录、改变全局状况、文件体系操作等)应当放置在零丁的模块中,而不是分散在全部代码中。功能上的副感化往往违背了单一的义务原则。
4、优先选择弗成变的对象
如不雅一个对象的状况在其构造函数中设置一次,并且不再次更改,则调试变得轻易得多,因为一旦构造精确就保持有效。这是降低软件项目复杂性的最简单办法之一。
5、多用接口罕用类
接收接口的函数(或C++中的模板参数或概念)比在类上操作的函数可重用性更强。
将软件项目分化成更小的模块(例如库和应用法度榜样),以实现模块化重用。模块的一些关键原则是:
- 最小化依附关系
- 每个项目都应当有一个单一明白的功能
- 不要反复
我无法告诉你须要多久才能看到一个 std :: vector 或 std :: string 更好的版本,但它几乎老是浪费时光和精力。除了一个显而易见的事实,那就是你正在把 bug 惹人一个新的处所。(见技能10)其他法度榜样员不太可能重用您的代码,而不是那些被广泛懂得、支撑和测试的代码。
你应当尽力让你的项目保持小巧和明白。
7.避免持续
在面向对象编程中,持续,特别是虚拟函数在可重用性方面往往是一个逝世穴。我很少能成功地应用能覆盖类的库。
8.同设计和开辟一样进行测试
我并不是测试驱动开辟的铁杆拥戴者,但在你开端编写测试代码时,编写测试天然遵守了很多指导方针。它也有助于早点将缺点裸露出来。避免编写无用的测试,优胜的编码意味着更高等的测试(例如,单位测试中的集成测试或功能测试)在显示缺点方面更有效。
9.优先选择而不是手写标准库
10.避免写新代码
最重要的一点是,每位法度榜样员应遵守:“ The best code is the code that isn’t written ”(最好的代码是不消被复写的代码)。你的代码越多,缺点就越多,找参预修复 bug 就越艰苦。
在编写一行代码之前先问问本身,有没有一个对象,函数或库已经做了你所须要的功能?你真的须要本身去实现这个功能,而不是调用另一个已经存在的功能吗?
总结 编程就比如是一种艺术情势或者一项活动,你只有经由过程赓续地演习,赓续地向他人进修,才能赓续地进步代码的质量,这些都将有利于你成为加倍高效的法度榜样员。
【编辑推荐】
- 代码中的汉字能阻挡CIA黑客?别沉醉了!他们在招中文黑客
- 外媒速递:20款最佳代码编辑器纵览
- 知加一周精选:不要在半夜宣布代码,然后回家睡觉
- 外媒速递:九大年夜最强代码编辑器及其具体优势综述
- 外媒速递:四项技能让你的Java代码更上一层楼
推荐阅读
神器两连发!谷歌出品的Sketch2AE+视觉化查看网页样式及标注的扩展
还有一种方法是,先将 Sketch 中选中的图层保存成 _SketchExport.sketchae 文件,然后经由过程 AE 中的打开 .sketchae 情势进行导入: 编者按:今天推荐两个神器,一个是谷歌设计团队开辟的>>>详细阅读
本文标题:30 多年的软件经验,总结出 10 个编写出更好代码的技巧
地址:http://www.17bianji.com/lsqh/37031.html
1/2 1