gpt4 book ai didi

c++ - 类 git 界面的最佳方法

转载 作者:太空狗 更新时间:2023-10-29 21:47:48 25 4
gpt4 key购买 nike

我正在编写一个小的命令行待办事项应用程序,它具有类似 git 的通用界面。

它有几个可以执行的任务:add , list , complete , ... 所有这些都应该可以通过 todo <task> 访问界面。例如 todo list .

与 git 一样,其中一些任务采用变量或选项,并且 todo应用程序还可以采用选项(适用于任何类型的任务,例如配置文件的位置)。

最终应该能够写出类似这样的东西:

todo -c ~/.config/todorc add --desc "walk the dog"

注意这里的顺序:全局选项在实际任务之前给出(并且只能给出)。典型调用的框架是:

todo [global options] <task> [task options/arguments]

我正在用 C++ 编写这个项目,基本的后端库已经完成。我现在正在尝试弄清楚如何编写用户界面。

我应该用一个大的main吗?单独处理每个任务,或者我应该将程序拆分成几个子程序并从一个简单的 shell 脚本调用它们(如果我是正确的,这就是 git 所做的)。后者似乎更易于维护,但更难将全局选项传递给任务可执行文件。

有这方面的文献吗?

最佳答案

您编写它是为了一个 命令行应用程序。然后我会选择一个二进制文件。最简单的方法可能是使用 Boost.Program_options .

在我看来,限制某些选项的位置是一个非常糟糕的主意。它会使大多数用户感到困惑。最坏的情况是位置改变了选项的语义。 gcc 使用 -l 选项做到了这一点,10 年后您仍然发现新用户提示他们的程序没有正确链接。

关于c++ - 类 git 界面的最佳方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12440299/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com