同步操作将从 yangfubing/yangfubing 强制同步,此操作会覆盖自 Fork 仓库以来所做的任何修改,且无法恢复!!!
确定后同步将在后台操作,完成时将刷新页面,请耐心等待。
如果保持简单而不是复杂,大多数系统都能发挥最佳性能。
为什么:
资源:
YAGNI代表“你不会需要它”:在必要之前不要实施某些东西。
为什么:
怎么样:
资源:
为什么:
怎么样:
资源:
关注点分离是将计算机程序分成不同部分的设计原则,这样每个部分都解决了一个单独的问题。例如,应用程序的业务逻辑是一个问题,用户界面是另一个问题。更改用户界面不应要求更改业务逻辑,反之亦然。
引用Edsger W. Dijkstra(1974):
这就是我有时称之为“关注点的分离”,即使不完全可能,它仍然是我所知道的有效排序一个人思想的唯一可行技术。这就是我所说的“将注意力集中在某些方面”:它并不意味着忽视其他方面,它只是公正地从这个方面来看,另一个是无关紧要的事实。
为什么:
怎么样:
资源:
每一条知识都必须在系统中具有单一,明确,权威的表示。
程序中的每个重要功能都应该在源代码中的一个位置实现。在通过不同的代码片段执行类似的功能的情况下,通过抽象出变化的部分将它们组合成一个通常是有益的。
为什么:
怎么样:
资源:
有关:
为什么:
怎么样:
资源:
引用唐纳德克努特:
程序员浪费了大量时间来思考或担心程序中非关键部分的速度,而这些效率尝试实际上在考虑调试和维护时会产生很大的负面影响。我们应该忘记小的效率,大约97%的时间说:过早的优化是所有邪恶的根源。然而,我们不应该放弃那个至关重要的3%的机会。
理解什么是“不成熟”并不是“过早”是至关重要的。
为什么:
怎么样:
资源:
模块/组件之间的耦合是它们相互依赖的程度; 较低的耦合更好。换句话说,耦合是代码单元“A”在对代码单元“A”的未知改变之后将“破坏”的概率。
为什么:
怎么样:
资源:
不要和陌生人说话。
为什么:
怎么样:
对象的方法只能调用以下方法:
资源:
为什么:
怎么样:
资源:
正交性的基本思想是,在概念上不相关的事物不应该与系统相关。
它与简单相关; 设计越正交,异常越少。这使得用编程语言更容易学习,读写程序。正交特征的含义与上下文无关; 关键参数是对称性和一致性。
资料来源:正交性
保守你的所作所为,要接受别人的自由
协作服务取决于彼此的接口。通常接口需要进化,导致另一端接收未指定的数据。如果收到的数据不严格遵循规范,那么天真的实现就会拒绝协作。更复杂的实现仍然会忽略它无法识别的数据。
为什么:
怎么样:
资源:
控制倒置也被称为好莱坞原则,“不要打电话给我们,我们会打电话给你”。这是一种设计原则,其中计算机程序的定制编写部分从通用框架接收控制流。控制反转具有强烈的含义,即可重用代码和特定于问题的代码即使在应用程序中一起操作也是独立开发的。
为什么:
怎么样:
资源:
单个模块/组件的凝聚力是其职责构成有意义单元的程度; 更高的凝聚力更好。
为什么:
怎么样:
资源:
LSP完全是关于对象的预期行为:
程序中的对象应该可以替换其子类型的实例,而不会改变该程序的正确性。
资源:
软件实体(例如类)应该是可以扩展的,但是关闭以进行修改。即,这样的实体可以允许在不改变其源代码的情况下修改其行为。
为什么:
怎么样:
资源:
一个班级永远不应该有多个改变的理由。
长版本:每个班级都应该承担一个责任,并且该责任应该由班级完全封装。责任可以被定义为改变的理由,因此一个类或模块应该只有一个改变的理由。
为什么:
怎么样
资源:
软件模块通过提供接口隐藏信息(即实现细节),而不泄漏任何不必要的信息。
为什么:
怎么样:
资源:
Curly定律是为任何特定的代码选择一个明确定义的目标:做一件事。
一个好的设计可以识别最有可能改变的热点,并将它们封装在API之后。当发生预期的变化时,修改保持在本地。
为什么:
怎么样:
资源:
将胖接口减少为多个更小,更具体的客户端特定接口。接口应该更多地依赖于调用它的代码而不是实现它的代码。
为什么:
怎么样:
资源:
美国童子军有一个简单的规则,我们可以适用于我们的职业:“让露营地更清洁,而不是你发现它”。童子军规则规定我们应该始终保持代码比我们发现的更干净。
为什么:
怎么样:
资源:
命令查询分离原则指出每个方法应该是执行操作的命令或将数据返回给调用者而不是两者都返回的查询。提出问题不应该修改答案。
应用此原则后,程序员可以更自信地编写代码。查询方法可以在任何地方以任何顺序使用,因为它们不会改变状态。使用命令必须更加小心。
为什么:
怎么样:
资源:
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。