对于同时提供GUI和命令行界面的应用程序,程序集名称应该是什么?

时间:2010-01-08 19:28:53

标签: .net user-interface command-line namespaces naming

我在.NET中编写了一些桌面应用程序,既提供正常使用的前端GUI,也提供其他需求的命令行界面(例如扩展,调度,自动化,高级用法等)。命名两个可执行文件的最佳实践是什么,因为它们是针对同一目录构建的?我见过或做过以下一些事情:

  • 将GUI命名为<X>.GUI.exe和控制台<X>.exe
  • 将GUI命名为<X>.exe和控制台<X>.Console.exe
  • 将GUI命名为<X>g.exe和控制台<X>c.exe,或其他名称后缀混合。
  • 将代码置于如上所述的描述性命名空间下,但在控制台的可执行文件中排除命名空间。也许使它成为一个较短的名称和全部小写。这很容易在shell中键入,但普通用户仍然可以看到GUI可执行文件的复杂名称空间。
  • 完全使用不同的名称或名称空间。

有两个不同的界面 - 一个是图形的,另一个是文本的 - 来自同一个常见的应用程序,但是我希望文件名清楚地说明程序是什么,同时给出一个提示(不仅仅是在它的图标中)无论是GUI还是控制台,都不使用神秘的名称。

旁注:有一个类似的“问题”,你有一个.NET类库,想要编写一个前端来使用它而无需编写代码。在这里,我通常会看到名为<X>.Exe.exe的可执行文件,其中库名为<X>.dll(但我不相信这是一种好的做法),或者它是一个更友好的名称,例如Some Tool Name.exe。但是在这个问题中,我对如何命名可执行文件更感兴趣。

2 个答案:

答案 0 :(得分:2)

我看到它的方式是命名空间从编码角度来看是有意义的,我的用户可能不应该看到它,特别是对于控制台应用程序,他们正在键入它。

如果我有一个应用程序,其名称空间就像....

  jarvis.scrabblehelper.gui and 
  jarvis.scrabblehelper.console

然后我的exe将是

  ScrabbleHelper.exe 

,控制台版本为

  sh.exe

答案 1 :(得分:0)

将它们放在一个winexe程序集中,当您需要在控制台中运行时,请在this link之后附加它。