避免代码重复Chocolatey Packages

时间:2014-06-18 16:15:50

标签: code-duplication chocolatey

简介

Multiple functions已被添加到Chocolatey包中。

这些功能也适用于其他Chocolatey包。

这可以通过将功能复制到每个功能来完成。但是,如果某个功能将被优化,则需要将这些更改复制到所有包中。

问题

如何避免Chocolatey包中的代码重复?

1 个答案:

答案 0 :(得分:1)

关于如何处理这个问题,我有一些建议...

  1. (可能是由于依赖其他人而花费时间最长的那个)如果这些功能完全可以由您自己和其他人重复使用,那么我建议将Pull Request提交给Chocolatey Core,添加这些功能融入Chocolatey。这样,每个人都可以获益。
  2. 将函数拆分为单独的文件,然后将它们点源到您正在创建的Chocolatey包中。在源代码控制存储库中,将文件存储在公共位置,然后将其添加到每个需要的Chocolatey Package中。
  3. 进一步重构提取的.ps1文件,以便它作为您创建的模块运行。创建一个Chocolatey软件包,它只需要部署PowerShell模块(有一些例子可以在Chocolatey.org上执行此操作 - 如果找不到,请大声说出来)。然后,在需要此模块导出的函数的Chocolatey Package中,对新的Chocolatey Package进行依赖,然后在使用Chocolatey Package中简单地导入模块。
  4. 鲜为人知的扩展。看看这个包:http://chocolatey.org/packages/Devbox-Common.extension
  5. 希望有意义,并提供帮助!

    加里