Какими должны быть имена сборок для приложения, обеспечивающего графический интерфейс и интерфейс командной строки? - PullRequest
0 голосов
/ 08 января 2010

Я написал несколько настольных приложений в .NET, которые предоставляют интерфейсный интерфейс для обычного использования, а также интерфейс командной строки для других нужд (например, расширение, планирование, автоматизация, расширенное использование и т. Д.). Какова наилучшая практика для именования двух исполняемых файлов, поскольку они собраны в одном каталоге? Я видел или сделал что-то из следующего:

  • Назовите GUI <X>.GUI.exe и консоль <X>.exe.
  • Назовите GUI <X>.exe и консоль <X>.Console.exe.
  • Назовите GUI <X>g.exe и консоль <X>c.exe или какую-либо другую смесь имени и суффикса.
  • Содержит код в описательном пространстве имен, как указано выше, но исключает пространство имен в исполняемом файле консоли. Может быть, сделать его более коротким и строчным. Это легко ввести в оболочке, но обычный пользователь по-прежнему видит сложное пространство имен для исполняемого файла GUI.
  • Используйте разные имена или пространства имен.

Существует два различных интерфейса - один графический, другой текстовый - к одному и тому же общему приложению, но я хочу, чтобы имена файлов были понятны относительно того, что представляет из себя программа, при этом давая подсказку (кроме как только в ее значке) ), будь то GUI или консоль, без загадочного имени.

Примечание: есть похожая «проблема», когда у вас есть библиотека классов .NET и вы хотите написать внешний интерфейс для ее использования без написания кода. Здесь я обычно вижу исполняемый файл с именем <X>.Exe.exe, где библиотека просто называется <X>.dll (но я не уверен, что это хорошая практика), или это более дружелюбное имя, например Some Tool Name.exe. Но в этом вопросе меня больше интересует, как назвать исполняемые файлы.

Ответы [ 2 ]

2 голосов
/ 08 января 2010

На мой взгляд, пространства имен имеют смысл с точки зрения кодирования, и мои пользователи, вероятно, не должны этого видеть, особенно для консольного приложения, где они выводят его.

Если бы у меня было приложение, в котором пространство имен было что-то вроде ....

  jarvis.scrabblehelper.gui and 
  jarvis.scrabblehelper.console

тогда мой exe будет

  ScrabbleHelper.exe 

и консольная версия будет

  sh.exe
0 голосов
/ 08 января 2010

Поместите их в одну сборку winexe, а когда вам нужно запустить консоль, присоедините ее, следуя этой ссылке .

...