软件 license 原理

软件原理是用于设计和实施的有用工具,它们可以帮助我们生产高质量的产品。 但是,软件原理有时会受到影响。 不一定总是要遵循这些规则,因为该规则有例外。 在某些方面,它们类似于某些生活原则,并且该博客探讨了这个想法。

软件与生活

在生活中,我们有赖以生存的道德和道德。 伦理和道德表现为生活原则。 它们为我们提供了一个框架,让他们成为更好的人,互相尊重,并最终改善我们的生活质量。

在软件行业,我们有软件设计原则。 这些是我们要遵守的规则,以便使我们开发的产品优雅,易于理解和可维护。 软件产品可以推动我们的经济发展或使我们的日常生活更加轻松,而软件原理在实现这一目标方面起着重要作用。

但是,软件设计原理并不意味着教条。 它们并不意味着要严格遵守。 应该在权衡的范围内评估软件原理的使用。 软件原理本质上是经验法则,如果这是最务实的事情,则可以被打破。

软件原理就像一些生活原理。 。 。 但与其他人不同。 为了说明我的观点,让我们考虑一些可以被认为是绝对的生活原则,即无论在何种情况下都不应被打破。

不要作弊,要好

遵循“不要作弊”的规则。 在任何情况下,我都不会告诉儿子允许作弊。 在学校考试作弊是不好的。 欺骗您的税金是不正确的,在家中的棋盘游戏中也是不合法的。 无论大小如何,作弊都是没有好处的。 它只会伤害他人,最终伤害您自己。 软件原理与作弊原理不同。

另一个示例是“永远不要将人视为达到目的的手段。” 严格地使用一个人作为达到目的而不顾其人性的手段是不道德的。 人们应该被视为人类,而不是对象。 在任何情况下,我都不会教我的孩子仅仅为了个人利益和尊重而“使用”某人。 软件原理与道德原理不同。 。 。 如果需要,我们可以将其破坏。

那么,软件原理是什么样的?我在说什么软件原理? 我们生活的大多数生活原则都是一般的经验法则,它们不是绝对的。 软件原理就是这样。 这里有一些我的意思的例子:

干燥

我们本着“永远说实话”的原则生活,但是这个规则并不总是适用。 以白色的谎言为例。 如果您的妻子问您:“这件衣服我看起来胖吗?”,您会很愚蠢地说“是”。 我们大多数人会说:“亲爱的,你看起来很棒!” 即使您美丽的妻子可能有点超重(就我个人而言,这没什么大不了的)。

在软件中,我们有DRY原则:不要重复自己。 这应该是您最常做的事情,并且可以大大有助于编写干净的代码。 但是,您真的要创建一个完整的模板或策略方法模式来保存1或2行代码吗? 有时违反DRY原则可以避免过度使用模式,这可能会使项目瘫痪并使代码难以理解。 评估DRY的权衡并做出最佳决定。

得墨meter耳定律

“永远吃得健康”的生活原则如何? 是的,总的来说,我们应该健康饮食并注意饮食,这样我们才能过上优质的生活。 但是我们被允许在假期中违反规定,吃炸火鸡和山核桃派。 允许偶尔与男友外出并喝一些啤酒和鸡翅。 这不会杀死你。 如果饮食不健康是个例外,那就很好。

得墨meter耳定律是一种软件原理,可实现松散耦合并将一个组件的知识限制到另一个组件。 遵循此规则可使您的代码易于理解并限制依赖关系。 但是,即使它被称为“法律”,也应更多地将其视为准则。 如果您正在处理一个贫血的对象,并且只需要获取一些数据,则允许客户端挖掘对象以获取所需的东西。 另一种选择是用几种不必要的方法来炸毁API,这是Demeter定律的缺点。

结论

在设计软件时,我们应该理解应该遵循软件原理才能产生高质量的代码。 但是,以务实的方式使用它们,不要过分追求软件原理,以免使您的生活和代码变得痛苦。 在权衡方面评估您的设计。 毕竟,我们当然拥有并非总是遵循的生活原则,而软件原则是相同的。 尽最大努力实现增值工作,而将教条抛在脑后。

参考: 软件原理类似于我们的JCG合作伙伴 Nirav Assar在Assar Java Consulting博客上提出的一些生命原理 。

翻译自: https://www.javacodegeeks.com/2012/06/software-principles-are-like-some-life.html

软件 license 原理