欢迎访问 生活随笔!

生活随笔

当前位置: 首页 > 编程资源 > 编程问答 >内容正文

编程问答

【计算机科学基础】控制复杂性的艺术

发布时间:2025/3/15 编程问答 35 豆豆
生活随笔 收集整理的这篇文章主要介绍了 【计算机科学基础】控制复杂性的艺术 小编觉得挺不错的,现在分享给大家,帮大家做个参考.
  • 抽象(abstraction)
    抽象是控制复杂性的关键技术,它的目的在于隐蔽不需要的细节。
    一个系统可以从多个不同层面抽象,抽象到何种层次合适由问题本身决定,需要具体问题具体分析。
    值得指出的是,当处于某个抽象层次的时候,最好是对当前抽象层次之上和之下都有一定的了解。计算机科学家不可能在不理解程序运行平台体系系结构的情况下充分优化代码;器件工程师也不可能在不了解晶体管具体用途的情况下在设计晶体管的时候作出明智的选择。

  • 约束(discipline)
    约束是对设计选择的一种内在限制,通过这种限制可以更有效地在更高地抽象层次上工作。
    部件可互换、可由不同地方生产,但每个合格的组件都被限定为一个误差允许范围内的标准集合,从而可以简单快速的组件系统,降低复杂度。

  • 三Y原则

  • 层次化(hierarchy)
    将系统划分为若干模块,然后更进一步划分每个模块直到这些模块可以很容易理解。
    这种模块被组件化,可以规则性地描述。
  • 模块化(modularity)
    所有模块定义好的功能和接口,以便它们之间可以很容易地相互连接而不是会产生意想不到的副作用。
    每个模块都需要有明确的功能和接口,且不对其他模块产生影响。
    模块之间的耦合通过接口进行,而非通过某种具体实现。
  • 规整化(regularity)
    在模块之间寻求一致,通用的模块可以重新使用多次,以减少不同模块的数量。
    此外,做到了规整化,互换部件也是可实现的好方法。
  • 总结

    以上是生活随笔为你收集整理的【计算机科学基础】控制复杂性的艺术的全部内容,希望文章能够帮你解决所遇到的问题。

    如果觉得生活随笔网站内容还不错,欢迎将生活随笔推荐给好友。