推荐给程序员们的十条编程原则

对于新手程序员们来说,拥有良好的代码量积累和一定的熟练度可以顺利的上手工作;而想要进一步的提升自己的代码能力和工作效率,掌握必要的编程原则也是重要的环节。


前言

对于新手程序员们来说,拥有良好的代码量积累和一定的熟练度可以顺利的上手工作;而想要进一步的提升自己的代码能力和工作效率,掌握必要的编程原则也是重要的环节。尤其是对于已经工作过一段时间,有一定的工作项目经验积累的程序员们非常重要,是脱离初级码农身份的重要步骤。

今天小课就跟大家聊一聊优秀程序员们总结归纳出来的十条编程原则,这些也是经过了大量工作经验的积累而来的概括比较广泛的编程原则,具体的情况肯定还会有更具针对性的解决方案,大家就当作个参考吧~

如何开发出维护性高、缺陷更少的代码是很多程序员都想拥有的编程能力,那么编程原则之一就是注重代码的简约性。

1、代码的简约原则,是指在程序设计中应保持简洁和单纯,不参入非必要的复杂性,这样的系统运作成效会取得最优;因此简单性应该是设计中的关键目标,尽量回避免不必要的复杂性。保持代码的简单并没有什么缺陷是件非常困难的事,虽然写起来简单,不容易出bug,但需要让读者更容易理解,符合公认的代码规范和习惯,规避不常规编码的出现。

想要做到编程简约,在实际工作中需要注意的是:把问题拆分为不同的小问题,学会分解任务;解决方法足够的小,每个方法的的代码在30-40行内完成;先解决问题,再开始编码;不要害怕推翻自己前面的代码,代码重构也是简洁的重要步骤;任何场景都尽可能的保持简单原则,保持谦虚。

2、避免重复,在开发过程中,减少重复信息是程序员的行事准则,也是面向对象编程的基本原则。系统中的每一部分,都必须有一个单一的、明确的、权威的代表,指的是由代码和测试所构成的系统,必须能够表达所应表达的内容,但是不能含有任何重复代码。坚持不重复代码原则,当你修改任何单个元素时都不需要与其逻辑无关的其他元素发生改变;与之逻辑上相关的其他元素的变化均为可预见的、均匀的,并如此保持同步。

在实际工作中保持不重复原则,需要注意的是:尽可能减少代码、数据、文档、表征、开发人员等的重复;能够使用开源解决方案的情况下没必要再实现一次;重复的事项使用自动化程序解决;不要过于追求不重复原则,保持程序的内聚性。

3、不做不需要的功能,在很多时候,程序员们开发出来的功能跟客户的实际需求是不对口的,为了更节约时间,我们应该坚持的一个原则是:当你真正需要它的时候再去做,而不是主观的认为或预见将来可能需要而去做。

当客户真正需要功能存在的时候,程序员们才开始制造它。这一原则能带给我们的不只是节约时间,更多的是减少了代码维护和测试;功能需要调整的时候更少的代码被重构;程序员们可以有更多的时间用于更重要的工程实现;更多时间用于文档编制;也为公司节约了更多的资源。

4、为维护者编写程序(Code For The Maintainer),在编码过程中你需要记住的是将来会有人来维护他,可能是别人也可能是你自己。如果你不想以后被人吐槽,那么请好好对待你现在编写的代码,毕竟很多时候我们会忘记自己曾经编写过的,然后某一天老板叫你去维护需要维护和吐槽的是自己写的代码就很尴尬了。

5、学会偷懒,学会偷懒的过程就是你为了满足新需求解决需求的过程,也是一个进步的过程。而事实上,人们为了偷懒,往往会激发自己创造出更多新奇的方式和解决方案,让我们的工作更加优化简洁,不会做更多重复的事。

6、编程只是手段而不是解决问题的方案,编程之前你需要了解的是你需要解决的问题是什么,程序员们需要了解的是能实现的功能不一定是被需要的(减少不必要的代码工作)。编程只是告诉电脑应该怎么去做怎么实现产品的功能,具体要实现产品整体的效果和可靠性,还需要精通算法、最佳实践等其他能力。

7、如果你很忙,就要学会放慢速度如果你真的很忙,那就给自己按个暂停,越忙的时候越容易手忙脚乱,适当的让你慢一点反而会有更好的效果。特别是在你编写核心功能的时候,项目进度需要提速的时候,又要保证程序的正确性稳定性,避免后期出现更多问题需要重构的重大事故。适当的让自己暂停也是一种加快速度和提升精确度的办法,在编写非核心程序时,就可以适当的加速。

8、管理好你的编程环境,优秀的程序员需要把控你的工作环境,在开始编写代码的过程中不会为环境而担心;了解你每天使用的环境、工具及其他依赖的内容,并且把它调试到适合自己的配置。你的目的是要环境为你而运转,而不是你去适应新的环境。

9、没有经过测试的代码都不能被运行,测试的墨菲定律:Anything that can go wrong will go wrong,不测试的代码就会出错。在产品上线之前,所有的代码和功能都必须经过测试,保证软件的正常运行,避免出现非必要的错误。

10、与程序沟通时分辨原因和结果,与人交流时要分辨事实和观点

① 最小化耦合关系:代码片段(代码块,函数,类等)应该最小化它对其它代码的依赖。这个目标通过尽可能少的使用共享变量来实现。“低耦合是一个计算机系统结构合理、设计优秀的标志,把它与高聚合特征联合起来,会对可读性和可维护性等重要目标的实现具有重要的意义。”

② 最大化内聚性:具有相似功能的代码应该放在同一个代码组件里。

③ 开放/封闭原则:程序里的实体项(类,模块,函数等)应该对扩展行为开放,对修改行为关闭。换句话说,不要写允许别人修改的类,应该写能让人们扩展的类。

④ 单一职责原则:一个代码组件(例如类或函数)应该只执行单一的预设的任务。

⑤ 隐藏实现细节:隐藏实现细节能最小化你在修改程序组件时产生的对那些使用这个组件的其它程序模块的影响。

⑥ 笛米特法则(Law of Demeter):程序组件应该只跟它的直系亲属有关系(例如继承类,内包含的对象,通过参数入口传入的对象等。


总结

以上是小课收集整理的编程过程中需要注意的几点工作原则,也许作为有一定工作经验的你来说,你已经知道了,或者已经有熟悉的大佬告诉了你,但是大多数都是靠自己一步步实践积累而来。掌握编程的这些技巧,并将他运用到实际的工作中才是最重要的。(部分内容源自网络,如有侵权请联系删除)

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

北大青鸟天府校区

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值