0

介绍

Chocolatey 包中添加了多个功能。

这些功能也希望应用于其他 Chocolatey 包。

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

问题

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

4

1 回答 1

1

我有一些关于如何继续进行的建议......

  1. (由于依赖于其他人,可能会花费最长的时间)如果这些功能完全可以由您自己和其他人重复使用,那么我建议向 Chocolatey Core 提交 Pull Request,将这些功能添加到 Chocolatey . 这样一来,每个人都会受益。
  2. 将函数拆分为一个单独的文件,然后将它们点源到您正在创建的 Chocolatey 包中。在您的源代码控制存储库中,将文件存储在一个公共位置,然后将其添加到所需的每个 Chocolatey 包中。
  3. 进一步重构提取的 .ps1 文件,使其作为您创建的模块运行。创建一个 Chocolatey 包,它所做的一切都部署了 PowerShell 模块(Chocolatey.org 上有一些这样做的示例 - 如果找不到,请大喊大叫)。然后,在需要此模块导出的功能的 Chocolatey 包中,对新的 Chocolatey 包进行依赖,然后在消费的 Chocolatey 包中简单地导入模块。
  4. 鲜为人知的扩展。看看这个包:http ://chocolatey.org/packages/Devbox-Common.extension

希望这是有道理的,并提供帮助!

加里

于 2014-06-19T07:43:03.220 回答