Comments 9
А вот когда то мы на голом C парзили все что угодно без фабрик и абстракций за один проход буфера. И не жужжали)
Я работал в ООП парадигме, а C - язык процедурный)
Ну, к слову сказать, я не так много сишных программ видел, где парсинг аргументов имел хоть сколько-нибудь адекватный и структурированный вид, а не каскад ifов, whileов и прочих CF конструкций, которые можно было сходу понимать. Так что может зря не жужжали.
В репе dotnet существует System.CommandLine и поддерживает иерархию команд
Из-за этого мэйнтенеры любят поломать существующее API.
А как вы работаете с аргументами командной строки?
обычно, со стандартным массивом Main(string[] args), если речь про C#. в других языках так же. очень важный момент в консольном приложении - грамотно создать структуру параметров избавляющую от необходимости проверять все действия пользователя. тогда вся программа выполняется за один цикл.
Есть еще моя либа, которая следует синтаксису getOpt и поддерживает "под-команды".
Но там задел под маленькие утилиты т.к. команды реализуется через методы, а не через классы команд.
Сам очень люблю CLI. У меня сейчас профиль PowerShell вместе со всеми самодельными модулями уже больше 1000 строк. И, по-моему если сейчас писать какие-то консольные утилиты под .NET, то больше имеет смысл ориентироваться на PowerShell, а не делать standalone приложение. Все есть мысли с этим разобраться, но до сих пор какого-то конкретного повода нет, пока что возможностей самого PowerShell всегда хватало.
Как я работаю с командной строкой