专栏首页程序你好软件设计原则——DRY(Dont Repeat Yourself)和KISS( Keep It Simple, Stupid)

软件设计原则——DRY(Dont Repeat Yourself)和KISS( Keep It Simple, Stupid)

在本文中,我将探讨软件设计原则及其优点,为什么设计原则对我们有用,以及如何在日常编程中实现它们。我们将探索DRY和KISS软件设计原则。

DRY(Don’t Repeat Yourself)原则——不要重复你自己

DRY代表“不要重复自己”,这是软件开发的一个基本原则,目的是减少信息的重复。干原理是这样表述的:“每一个知识或逻辑必须在一个系统中有一个单一的、明确的表示。”

违反DRY原则

“我们喜欢敲代码”(或者“浪费每个人的时间”):“我们喜欢敲代码”意味着一遍又一遍地写同样的代码或逻辑。这样让管理代码变得很困难的,如果任何逻辑发生变化,那么我们必须在代码中的所有地方进行更改,从而浪费时间。

如何实现DRY

为了避免违反DRY原则,需要把你的系统分成几部分。将代码和逻辑划分为更小的可重用单元,并通过在需要的地方调用代码来使用这些单元代码。不要编写过于冗长的方法,要进行逻辑拆分,并尽量使用现有方法中已经写好的逻辑。

DRY的好处

更少的代码是好的,它节省了时间和精力,易于维护,并且减少了bug的几率。

DRY原则的一个很好的例子是企业库enterprise libraries中的helper类,其中每行代码都在库libraries和helper类中是惟一的。

KISS( Keep It Simple, Stupid)原则——保持简单,愚蠢。

KISS原则使代码简单、清晰、易于理解。编程语言是为人类所理解的,所以保持编码的简单和直接,让人类理解。保证你的方法尽量很小;每个方法都不应该超过40-50行代码。

每个方法应该只解决一个小问题,而不是实现很复杂的功能。如果你在方法中有很多条件,把它们分解成更小的单独的方法。它不仅更易于阅读和维护,而且可以更快地发现bug。

违反KISS原则

我们都经历过在项目中由于一些糟糕的代码,需要大家努力加班解决问题。“既然我们可以只用2-3行就完成同样的事情,他们为什么要写这些不必要的行和条件呢?”看看下面显示的两个代码。

你会用哪个?

如果有两种方法实现的功能是一样的,第一种代码多,但很容易读懂。第二种呢,代码很简练,相对第一代码而言,没那么好理解,你会选哪一种呢?

如何实现KISS原则

为了避免违反KISS原则,尝试编写最简单的代码。为您的问题考虑许多解决方案,并选择最好的解决方案,并将其转换为代码。只要有冗长的代码,就将其分为多个方法,右键单击并在编辑器中重构。试着写一些小的代码块来完成一个任务。

KISS原则的好处

如果我们有一个开发人员编写的一些糟糕的功能,如果我们要求其他开发人员对代码进行修改,那么他首先必须理解代码,这将比必须要花费更多的时间。如果简单地编写代码,那么理解该代码就不会有任何困难,它将更容易修改,而且花费的时间也会大大减少。

总结

在编写任何代码或模块时,要记住软件设计原则,并明智地使用它们。让它们成为你的习惯,这样你就不需要每次都记住它们;它将节省开发时间,并使您的软件模块健壮、可维护和可扩展。

本文分享自微信公众号 - 程序你好(codinghello)

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2018-06-07

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 幽默的程序员:写了100万行代码的程序员是什么样的程序员

    程序你好
  • 程序的腐化原因及建议

    程序你好
  • 新手程序员如何写出好的代码

    我之前的博客文章在推特上火了。这篇文章指出了一个问题——始终遵守某些规则实际上并不能帮助人们更好地编写代码。

    程序你好
  • 如何写出漂亮的代码?

    疑惑一 程序员如何戒掉二指禅 这个问题一般是对初级人员才有的问题,老手都一练出来了。新手程序员如和戒掉二指禅?咋在学校的时候lol撸多了,哪去些什么代码。短时间...

    程序员互动联盟
  • 什么是整洁的代码

    来源 | https://www.cnblogs.com/xybaby/p/11335829.html

    五分钟学算法
  • 写出整洁的代码,是每个程序员的追求

    《Clean Code》指出,要想写出好的代码,首先得知道什么是肮脏代码、什么是整洁代码;然后通过大量的刻意练习,才能真正写出整洁的代码。

    沉默王二
  • 如何写出让同事好维护的代码?

    写出整洁的代码,是每个程序员的追求。《clean code》指出,要想写出好的代码,首先得知道什么是肮脏代码、什么是整洁代码;然后通过大量的刻意练习,才能真正写...

    Java技术栈
  • 将JavaScript代码转换为漂亮的SVG流程图——js2flowchart

    js2flowchart 是一个可视化库,可将任何JavaScript代码转换为漂亮的SVG流程图。你可以轻松地利用它学习其他代码、设计你的代码、重构代码、解释...

    IT大咖说
  • 抢人大战中,那些选择留在高校的AI研究员们

    AI人才需求的不断增长, 为科研人员在学术机构和商业公司间跨界工作创造机会。越来越多的人工智能研究员决定从科研机构跳槽到商业公司,吸引他们的不仅是高薪,还有科研...

    大数据文摘
  • 吾日外省

    何时夕

扫码关注云+社区

领取腾讯云代金券