组织PowerShell Cmdlet类

组织PowerShell Cmdlet类,powershell,Powershell,…有人有主意吗?有标准吗 PowerShell的“cmdlet结构”是“动词-名词”——这很好,但会导致按动词组织的类。现在,PowerShell“外部接口”由CmdLet属性确定,不必与实际类名有关系 我的想法是扭转这一局面——对类使用NounVerb,以便特定名词的所有内容都在一起,然后根据名词中的“前缀”将它们可能打包到名称空间中(即,如果多个cmdlet形成组,则将它们打包到名称空间中) 这将使lsit在开发过程中保持较小的规模,并确保一个oun的所有cmdlet都分组在一起。我见过的最

…有人有主意吗?有标准吗

PowerShell的“cmdlet结构”是“动词-名词”——这很好,但会导致按动词组织的类。现在,PowerShell“外部接口”由CmdLet属性确定,不必与实际类名有关系

我的想法是扭转这一局面——对类使用NounVerb,以便特定名词的所有内容都在一起,然后根据名词中的“前缀”将它们可能打包到名称空间中(即,如果多个cmdlet形成组,则将它们打包到名称空间中)


这将使lsit在开发过程中保持较小的规模,并确保一个oun的所有cmdlet都分组在一起。

我见过的最常见的实践(通过S.M.A上的dotPeek)是为动词Noun:verbNonuCommand(例如GetJobCommand)命名一个C#cmdlet类。这就是我们在PowerShell社区扩展中对cmdlet类名所做的操作


OTOH,我认为这是一个完全由cmdlet作者决定的实现细节。这里最重要的是尽量使用一个被认可的动词,并选择一个好的名词(不要太泛化,避免复数)

就实施细节达成一致-问题是,我正在实施;)所以很明显,我对这个“细节”很感兴趣。@TomTom我不会说有一个标准——也许是一个共同的惯例。我确实觉得像
GetJobCommand
这样的代码比
JobGetCommand
更自然易读。是的,但同时这意味着你可以用动词来组织它们,而不是用-well——“自然分组”;(