功能分解,它有什么用处以及其利弊如何?在哪里有一些使用它的实例?
功能分解,它有什么用处以及其利弊如何?在哪里有一些使用它的实例?
功能分解是将复杂的过程分解成更小、更简单的部分的过程。
例如,想象一下使用自动取款机。您可以将该过程分解为以下步骤:
走到自动取款机前
插入银行卡
输入密码
你懂的。
您可以将编程视为同样的方式。想象一下运行自动取款机的软件:
读取银行卡的代码
密码验证
转账处理
每个部分都可以进一步细分。一旦您已经达到了子系统最细致的部分,您就可以考虑如何开始编写这些部分。然后将这些小部分组合成整体。请查看此维基百科文章:
功能分解的好处在于,一旦开始编码,您正在处理应用程序中可能的最简单的组件。因此,开发和测试这些组件变得更加容易(更不用说您能够更好地设计您的代码和项目以适应您的需求)。
明显的缺点是时间投入。在编码开始之前,对复杂系统进行功能分解需要更多的时间。
个人认为这段时间非常值得。
这与工作分解结构(WBS),思维导图和自上而下的开发相同,基本上是将一个大问题分解为更小、更易理解的子部分。
优点
缺点 - 分解没有真正的缺点,但有一些常见的错误
emit(dag(parse(lex(preprocess(filename)))));
compile
函数)分解成了一堆小的、易于理解的函数。你不必像管道一样处理,你可以这样编写程序:process_data(parse_input(), parse_config())