Ema*_*nem 4 unix linux getopt getopt-long
要做一个合适的Linux/unix风格的应用程序,最好的选择是什么(例如,afaik ls使用getopt_long但是例如ffmpeg getopt_long_only).你推荐哪一个?
干杯,
在我看来,以下事情通常是正确的:
如果一个程序变得足够大,它最终会耗尽短的选项组合,与规范选项相比,它们具有任何意义.例如,-Z可能与以完全不同的字母开头的长选项相同.那时,特别是对于单个维护者来说,解析代码的选项变得令人头疼.
发生这种情况时,你有几个选择:
混合在不同的地方,你真的开始抓住痛苦.
当我坐下来编写一个需要很多选项的工具时,我通常要做的第一件事就是编写代码来解析参数,这有助于规划程序的流程并成为一个大纲.您只需在此之后使每个选项都有效.
换句话说,如果你达到选项变成如此慢性疼痛的程度,它通常表明一个程序很快就会超出其计划范围.
无论如何,为了使我的冗长的答案结束,通常更好的是尽可能保持compat getopt()行为.获取用户指示的代码只是开展业务的成本,因此您应该尽可能完全关注什么能够带来更好的用户体验.
| 归档时间: |
|
| 查看次数: |
2659 次 |
| 最近记录: |