c++ - 命令行工具的最佳设计

标签 c++ design-patterns command-line-tool

<分区>

这是一个简单的任务,让我简单描述一下吧!

我应该编写一个以文件名作为参数的命令行工具,文件 我要阅读的内容由几行组成,每一行都应该是要执行的命令,命令后跟要应用的适当参数,以明确说明:

FILE

sum; 1, 2, 3, 4

Output

10

命令行工具应该满足这些要求:

1- 易于维护、开发(将来可能会添加更多命令)并且用户友好。

2- 命令行参数可能会被修改并添加新的。

3- 可以作为一个开源项目存在,一个有组织的源代码树。

我希望开发人员处理源代码并完全理解它。

我是这些东西的新手,我对设计模式有点陌生,所以我知道的不多,我想遵循开发这个程序的最佳实践,我真的很想在适用的情况下使用设计模式并使我的代码更好更干净,所以请建议和指导我以最好的方式编写这个工具,我不想写脏代码,我想写一个高质量的代码来完成它的意图并且可以很容易地进一步开发.

刚才说的还请大家多多指教,批评指正。

最后一件事,我将使用 C++!

谢谢!

最佳答案

1- Boost.Program_options在解析命令行选项时是你的 friend 。
2- 看看 command pattern .虽然使用具有反射功能的语言更容易实现,但仍然可以将“命令字符串”映射到函数。请为此使用 C++11 工具。即 std::function.
3- C++ 项目没有标准结构。我个人使用 Boost 推荐的结构。

关于c++ - 命令行工具的最佳设计,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15796337/

相关文章:

c++ - 缺少的#include是否有可能在运行时中断程序?

c++ - OpenGL:动态改变纹理坐标

c++ - 如何为 select() 监控的每个套接字设置不同的超时时间?

.net - 如何在继承自另一个一次性类的类中实现一次性模式?

language-agnostic - 流畅的接口(interface) - 方法链

c++ - 分配给 char[8] 的 vector

javascript - Knockout.js 显示/隐藏 block 可见性模式

xcode - 为 Mac OS 命令行工具编写 XCTestCase

public-key-encryption - 如何在终端中生成 Curve25519 key 对?

ruby - 新 10.9 OSX for ruby​​ gems 的命令行工具?