软件 license 原理
软件原理是用于设计和实施的有用工具,它们可以帮助我们生产高质量的产品。
但是,软件原理有时会受到影响。
不一定总是要遵循这些规则,因为该规则有例外。
在某些方面,它们类似于某些生活原则,并且该博客探讨了这个想法。
软件与生活
在生活中,我们有赖以生存的道德和道德。
伦理和道德表现为生活原则。
它们为我们提供了一个框架,让他们成为更好的人,互相尊重,并最终改善我们的生活质量。
在软件行业,我们有软件设计原则。
这些是我们要遵守的规则,以便使我们开发的产品优雅,易于理解和可维护。
软件产品可以推动我们的经济发展或使我们的日常生活更加轻松,而软件原理在实现这一目标方面起着重要作用。
但是,软件设计原理并不意味着教条。
它们并不意味着要严格遵守。
应该在权衡的范围内评估软件原理的使用。
软件原理本质上是经验法则,如果这是最务实的事情,则可以被打破。
软件原理就像一些生活原理。
。
。
但与其他人不同。
为了说明我的观点,让我们考虑一些可以被认为是绝对的生活原则,即无论在何种情况下都不应被打破。
不要作弊,要好
遵循“不要作弊”的规则。
在任何情况下,我都不会告诉儿子允许作弊。
在学校考试作弊是不好的。
欺骗您的税金是不正确的,在家中的棋盘游戏中也是不合法的。
无论大小如何,作弊都是没有好处的。
它只会伤害他人,最终伤害您自己。
软件原理与作弊原理不同。
另一个示例是“永远不要将人视为达到目的的手段。”
严格地使用一个人作为达到目的而不顾其人性的手段是不道德的。
人们应该被视为人类,而不是对象。
在任何情况下,我都不会教我的孩子仅仅为了个人利益和尊重而“使用”某人。
软件原理与道德原理不同。
。
。
如果需要,我们可以将其破坏。
那么,软件原理是什么样的?我在说什么软件原理?
我们生活的大多数生活原则都是一般的经验法则,它们不是绝对的。
软件原理就是这样。
这里有一些我的意思的例子:
干燥
我们本着“永远说实话”的原则生活,但是这个规则并不总是适用。
以白色的谎言为例。
如果您的妻子问您:“这件衣服我看起来胖吗?”,您会很愚蠢地说“是”。
我们大多数人会说:“亲爱的,你看起来很棒!”
即使您美丽的妻子可能有点超重(就我个人而言,这没什么大不了的)。
在软件中,我们有DRY原则:不要重复自己。
这应该是您最常做的事情,并且可以大大有助于编写干净的代码。
但是,您真的要创建一个完整的模板或策略方法模式来保存1或2行代码吗?
有时违反DRY原则可以避免过度使用模式,这可能会使项目瘫痪并使代码难以理解。
评估DRY的权衡并做出最佳决定。
得墨meter耳定律
“永远吃得健康”的生活原则如何?
是的,总的来说,我们应该健康饮食并注意饮食,这样我们才能过上优质的生活。
但是我们被允许在假期中违反规定,吃炸火鸡和山核桃派。
允许偶尔与男友外出并喝一些啤酒和鸡翅。
这不会杀死你。
如果饮食不健康是个例外,那就很好。
得墨meter耳定律是一种软件原理,可实现松散耦合并将一个组件的知识限制到另一个组件。
遵循此规则可使您的代码易于理解并限制依赖关系。
但是,即使它被称为“法律”,也应更多地将其视为准则。
如果您正在处理一个贫血的对象,并且只需要获取一些数据,则允许客户端挖掘对象以获取所需的东西。
另一种选择是用几种不必要的方法来炸毁API,这是Demeter定律的缺点。
结论
在设计软件时,我们应该理解应该遵循软件原理才能产生高质量的代码。
但是,以务实的方式使用它们,不要过分追求软件原理,以免使您的生活和代码变得痛苦。
在权衡方面评估您的设计。
毕竟,我们当然拥有并非总是遵循的生活原则,而软件原则是相同的。
尽最大努力实现增值工作,而将教条抛在脑后。
翻译自: https://www.javacodegeeks.com/2012/06/software-principles-are-like-some-life.html
软件 license 原理