Depende y cuando digo que depende, no es solo cuestión de tener un par de casos de ventaja, sino que depende mucho de la aplicación y del público objetivo. Suponiendo que estamos eliminando los juegos de la ecuación, entonces todavía hay una gran variedad de aplicaciones que puede estar escribiendo donde un comando como es poco probable o nunca se implementará. En la parte superior de mi cabeza, cualquier aplicación dirigida a un entorno móvil (por ejemplo, iOS, Android, etc.) probablemente se incluirá en este encabezado.
Teniendo eso en cuenta, en el espacio de software general, cualquier aplicación que dependa mucho de la visualización (por ejemplo, PowerPoint, Maya , etc.) vea que se implementa un reemplazo de línea de comandos. De hecho, en el caso de software de gráficos como Maya, se puede argumentar que es un buen ejercicio mental para determinar cómo funcionaría una versión completa y correcta de la línea de comandos, y puede que no sea posible hacerlo desde el punto de vista del usuario. Por lo tanto, está claro que hay aplicaciones definitivamente comunes que pueden encontrarse donde es poco probable que se vea una interfaz como comando, o deseable incluso si las secuencias de comandos de la aplicación pueden ser deseables.
A continuación, si observamos la forma sugerida desde el punto de vista de la arquitectura general del software, puedo ver dónde tendría sentido preguntarse periódicamente: "¿Cómo puedo acceder a esta función sin la interfaz de usuario?" En general, si no hay forma de hacerlo y no está interactuando directamente con el usuario (por ejemplo, la entrada de gestos), es probable que tenga una situación en la que deba mejorarse la arquitectura general. Para permitir la facilidad de las pruebas, querrá poder acceder directamente al comando sin pasar por la interfaz de usuario, aunque no se puedan invocar a través de una línea de comando. Esto generalmente significa que una API sólida debe estar en su lugar y, en teoría, una buena API debe permitir el acceso a través de la línea de comandos o la interfaz de usuario. Además, a largo plazo, se ahorrará tiempo si necesita agregar una nueva interfaz de usuario a la aplicación.
Al final del día, creo que la sugerencia a la que intenta llegar tiene sentido (es decir, tener una buena API y crear una interfaz de usuario a partir de eso) pero la selección de palabras podría haber sido un poco mejor para obtener el punto a través