learun开发社区 - 力软快速开发平台官方论坛

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 772|回复: 1

国外大咖三十年软件开发经验总结出的十大程序编写技巧 ...

  [复制链接]

4

主题

4

帖子

8

积分

新手上路

Rank: 1

积分
8
发表于 2019-4-28 09:31:19 | 显示全部楼层 |阅读模式
一个好的程序员最让人称赞的莫过于能写出一手好的代码,何谓好的代码?好代码一般具有易读、易懂、易调试、易改、缺陷少等优点,想要敲出一手好代码,一朝一夕是不可能的,我们需要大量时间去实践,但这具有长远意义,因为从长期来看,我们以后可以花更少的时间和精力去维护和复用之前的代码,那么作为程序员,怎么样才能敲出一手好代码呢?


一、遵循单一责任原则
函数在程序员的库中是单一最重要的抽象形式。可以被复用的机会越多,我们要写的代码就越少,这些代码就越可靠。遵循单一责任原则的小小函数更有可能被重新使用。
二、最小化共享状态
应该将函数之间的隐式共享状态最小化,无论它是文件作用域变量还是对象的成员字段,这有利于显式的将所需的值作为参数,当明确函数实现所需的结果时,代码变得容易理解和重用,所以,我们应该优先选择静态无状态变量,而不是对象的成员变量。
三、本地化副作用
理想的副作用,比如打印到控制台、记录、改变全局状态、文件操作系统等,应该放置在单独的模块中,而不是分散在整个代码中,功能上副作用往往违反了单一的责任原则。
四、优先选择不可变的对象
如果一个对象的状态在其构造函数中设置一次,并且不再更改,则调试变得容易得多,因为一旦构造正确就确保有效,这是降低软件项目复杂性的最简单的方法之一。
五、多用接口少用类
接受接口的函数或C++中的模板参数或概念,比在类上操作的函数可重用性更强。
六、对模块应用良好的原则
将软件项目分解成更小的模块,比如库和应用程序,以实现模块化重用,模块的一些关键原则有:最小化依赖关系、每个项目都应该有一个单一明确的功能、不要重复。我们应该努力让我们的项目保持小巧和明确。

七、避免继承
在面向对象编程中,继承,特别是虚拟函数在可重用性方面往往是一个死穴,我们很少能成功的使用能覆盖类的库。
八、同设计和开发一样进行测试
我们在开始编写测试代码时,编码测试就遵循了许多知道方针,它有助于早点就错误暴露出来,避免编写无用的测试,良好的编码意味着更高级的测试在显示缺陷方面更有效。
九、优先选择而不是手写标准库
手写标准库几乎是浪费时间和精力,我们很有可能制造出新的bug并将其引入一个新的地方。
十、避免写新代码
最好的代码就是不用被复写的代码,代码越多,缺陷就越多,找到并修复bug就越困难,在编写代码前,先确认下有没有工具、函数或库已经实现了我们所需的功能。
回复

使用道具 举报

0

主题

5

帖子

159

积分

注册会员

Rank: 2

积分
159
发表于 2019-5-27 10:25:27 | 显示全部楼层
某个瞬间忽然明白了学习才能让自己更优秀
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|learun开发社区 - 力软快速开发平台官方论坛 ( 沪ICP备14034717号 )

GMT+8, 2020-5-25 19:09 , Processed in 0.169756 second(s), 23 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表