主要功能包含哪些内容?

Sir*_*son 3 c++ function

在自上而下的方法中,建议使函数较小,只执行一个任务.

所以.我不知道主要做什么?只是调用其他功能或我们想要的一切?

谢谢.

sam*_*hen 5

我们的想法是将任务分成逻辑抽象.

在这里,我将使用厨房烹饪的例子来说明这个概念.假设您想要准备一些美味的晚餐和一些菜肴.您的心理检查表可能会从主要步骤开始:

  • 去杂货店购买食材
  • 预处理成分
  • 煮食物
  • 提供食物
  • 干净的菜肴

因此,这些成为你的功能 main()

然后,对于每个步骤,您将其细分一点:(请注意,下面列出的子步骤是每个主要函数将在其自己的函数定义中调用的内容)

  • 去杂货店购买食材:
    • 制作购物清单
    • 参观杂货店
    • 收集成分
    • 支付配料
    • 回家
  • 预处理成分:
    • 洗蔬菜
    • 切碎肉
    • 切碎生姜,丁香......
  • 煮食物
    • 准备锅碗瓢盆
    • 加入食用油
    • 打开炉子
    • 在平底锅里煮蔬菜和蔬菜,直到完成
  • 提供食物:
    • 设置板块
    • 将食物分成几部分
    • 打电话给别人吃饭
    • 吃晚餐
  • 干净的菜肴:
    • 用洗涤剂洗碗
    • 用水冲洗碗碟
    • 把菜拿走

然后,对于每个子步骤,您仍然可以使事物更精细以表示单独的逻辑操作,main()为简洁起见,我们将仅检查前两个子函数:

  • 去杂货店购买食材:
    • 制作购物清单:
      • 打开冰箱
      • 检查冰箱的内容
      • 记下冰箱里哪些配料运行不足.
      • 关闭冰箱
    • 访问杂货店:
    • 收集成分:
      • 打开冰箱
      • 把冷冻蔬菜放入购物车
      • 关闭冰箱
      • 把新鲜的肉放在购物车里
    • 支付配料:
    • 回家:
  • 预处理成分:
    • 洗蔬菜:
      • 打开冰箱
      • 从冰箱里取回蔬菜
      • 关闭冰箱
      • 在水龙头下冲洗蔬菜
    • 切碎肉:
    • 切碎生姜,丁香......

现在注意两件事:

  1. 通过将主要任务分解为更小的子任务,现在有一个非常符合逻辑的"自上而下"树状结构,可用于程序的方法.当您查看main时,您可以立即查看整体计划的内容,而无需准确了解每个步骤的实现方式.但是通过检查各个函数,您可以立即了解每个函数如何完成其​​任务......等等.
  2. 您现在可以在多个位置重用任何封装到函数中的抽象逻辑(例如,以粗体列出的打开/关闭冰箱操作).当你需要打开冰箱时,你只需要打开"openFridge",而不必每次都重新编码确切的方法.(你可以在技术上复制和粘贴代码,但这会导致一种称为代码克隆的反模式:如果你需要改变如何打开冰箱,你必须在任何地方而不是仅仅在1个功能中执行)