最少编码原则

转载 2016年08月29日 11:55:27
本文作者是一位资深软件工程师,他根据多年的编程经验,把自己的观点组织整理成本文,希望能给大家一点启发。

“最少编码原则”并不是说写的代码少到令意思表达不清楚。其实在很多情况下,可以只写几行代码就能执行相同的逻辑,但这对于后来接手的开发者来说是非常棘手的。最少编码不只是写最少量的代码,还意味着优雅的代码。如果你是有经验的程序员,可能就会明白我将要说什么了。本文的目的是尝试着去阐述清楚这个原则,虽然程序员们都听过都了解该原则,却很少能在每天的工作中将其运用起来。

最少编码指的是代码不仅仅全面解决了问题,而且除了执行能够准确地解决问题的逻辑行,没有其他多余的行。代码要尽可能普通,简单的代码也是优雅的代码,程序员看到这样的代码会感到愉悦。

最少编码和设计良好的解决方案之间有着密切的关系,优秀的解决方案可以大大减少代码量。使用组态代码(不同功能的代码可以很容易地组合)以及减低代码行或逻辑之间的耦合度,就是很好的代码设计例子,同时也符合最少编码原则。

将一段代码转换成最少代码就是我们通常所说的重构,重构可以删掉多余的不必要的部分,精简代码

大量的代码需要执行大量的逻辑,很容易造成bug。没有写出来的代码才没有bug,只要在编辑器中输入了字符,那么bug也可能潜伏在其中。重点是,如果代码不是特别繁琐,那么潜在的bug也会相应减少,最少编码原则可以将出现bug的可能性降到最低

如何写出最少代码?通常在写代码前要进行代码设计,而不是一来就开始敲代码,这是毋庸置疑的。简单的、通用的逻辑能减少代码量。对第一稿代码运用代码重构可以使代码简练,将最终版本转化为优雅的解决方案等,这都遵循了最少编码的原则。其实反复思考以及不断运用最少编码原则能够使任何垃圾代码变得优雅


我认为使用最少编程原则是每个程序员的成长目标之一,初学者,请不要说这是资深程序员或者说有经验的程序员才需要思考的问题,尽管初学者本身知识面不广,无法想到脑子里所学的以外的东西。但学习不是这样的,应该是多维度的去理解或扩充知识,这样才能让你脑洞大开,对某个问题才会有多个角度的理解,最少编程原则应该是我们一开始就应该试着去做的事情,虽然一开始几乎很难。 

最少编码原则

本文作者是一位资深软件工程师,他根据多年的编程经验,把自己的观点组织整理成本文,希望能给大家一点启发。  “最少编码原则”并不是说写的代码少到令意思表达不清楚。其实在很多情况下,可以只写几行代码...
  • benpaobagzb
  • benpaobagzb
  • 2016年02月25日 11:53
  • 201

设计模式六大原则例子(五)-- 最少知识原则(LKP)/ 迪米特法则(LOD)例子

之前我们对设计模式的六大原则做了简单归纳,这篇博客是对最少知识原则进行的举例说明。 最少知识原则的意义朋友类的定义:出现在成员变量、方法的输入输出参数中的类。而方法体类内部的类不能算。 每个对象都必然...
  • yabay2208
  • yabay2208
  • 2017年06月29日 18:01
  • 301

关于网关的经典小故事

假设你的名字叫小不点,你住在一个大院子里,你的邻居有很多小伙伴,在门口传达室还有个看大门的李大爷,李大爷就是你的网关。当你想跟院子里的某个小伙伴玩,只要你在院子里大喊一声他的名字,他听到了就会回应你,...
  • zzwdkxx
  • zzwdkxx
  • 2013年03月14日 21:38
  • 722

设计模式六大原则(5):迪米特法则 最少知道

定义:一个对象应该对其他对象保持最少的了解。 问题由来:类与类之间的关系越密切,耦合度越大,当一个类发生改变时,对另一个类的影响也越大。 解决方案:尽量降低类与类之间的耦合。    ...
  • u013841764
  • u013841764
  • 2016年05月06日 11:14
  • 217

软件编码原则

每个程序开发人员都会受益于对编程的原则和模式的理解。为了给自己提供一个参考,我把这个概述写在这里。通过设计,讨论,或者回顾复习,它可能会对你有所帮助。要注意的是,它距离完成还有很长的距离,并且你也会经...
  • u013108408
  • u013108408
  • 2015年11月18日 17:49
  • 287

面向对象七大编码设计原则

知道抽象、继承、多态这些概念,并不会马上让你变成好的面向对象程序设计者。        设计大师关心的是建立弹性的设计,可以维护,可以应对变化。 1. 编码设计的原则        ...
  • why_still_confused
  • why_still_confused
  • 2016年05月28日 18:26
  • 1056

设计原则之最少知道原则

只与你直接的朋友通信,避免和陌生人通信。   定义:一个对象应该对其他对象保持最少的了解。 问题由来:类与类之间的关系越密切,耦合度越大,当一个类发生改变时,对另一个类的影响也越大。 解决...
  • forrhuen
  • forrhuen
  • 2014年07月15日 18:57
  • 243

PHP设计模式——六大原则

声明:本系列博客参考资料《大话设计模式》,作者程杰。       一般认为遵从以下六大原则的代码是易扩展可复用的代码:                                      ...
  • jhq0113
  • jhq0113
  • 2015年04月06日 23:18
  • 3254

数据结构——哈夫曼编码

哈夫曼树的典型例子: (1)修理牧场: 农夫要修理牧场的一段栅栏,他测量了栅栏,发现需要N块木头,每块木头长度为整数L​i​​个长度单位,于是他购买了一条很长的、能锯成N块的木头,即该木头的长度是...
  • qq_34287501
  • qq_34287501
  • 2017年05月17日 12:38
  • 237

《软件工程》——编码

编码的目的是使用选定的程序设计语言,把模块的过程描述翻译为用该语言书写的源程序。源程序应该正确可靠、简明清晰,而且具有较高的效率。在编程的步骤中,要把软件详细设计的表达式翻译成为编程语言的构造,编译器...
  • u013067402
  • u013067402
  • 2014年10月09日 22:09
  • 1630
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:最少编码原则
举报原因:
原因补充:

(最多只允许输入30个字)