版本控制 – 在带有Pub的Dart中,何时应该对依赖项使用“任何”版本约束?

在制作包时,我经常对是否应该使用任何约束感到困惑.

我知道这个:

>库包,I should specify clear version constraints,以便我的库用户知道我的传递依赖的版本,
>应用程序包,I should use any and check in my pubspec.lock lockfile以便其他人可以运行我的应用程序,

但是有一个灰色区域:

>要扩展的应用程序,例如codelabs,教程,模板,示例等.
>具有可重用库的应用程序;也就是说,包含具有通用功能的lib目录的包,这些包对于放入单独的包没有意义,但也是用于完整应用程序的Web目录.

问题:我究竟应该使用任何版本约束,何时应该完全指定Pub包的版本约束?

applications that are meant to be extended,such as codelabs,tutorials,templates,examples,and others.

由于这些通常将作为普通应用程序包的基础进行复制粘贴,因此我将使用any约束并检入锁定文件以设置一个很好的示例.

applications that also have re-usable libraries; that is,packages that have a lib directory for common functionality that doesn’t make sense to put in a separate package,but also a web directory for a full-fledged application.

所有应用程序都应将其代码放在lib目录中. Web目录应该只包含入口点.所以这只是一个标准的应用程序包,它应该使用任何约束并检入一个文件.

相关文章

迭代器模式(Iterator)迭代器模式(Iterator)[Cursor]意图...
高性能IO模型浅析服务器端编程经常需要构造高性能的IO模型,...
策略模式(Strategy)策略模式(Strategy)[Policy]意图:定...
访问者模式(Visitor)访问者模式(Visitor)意图:表示一个...
命令模式(Command)命令模式(Command)[Action/Transactio...
生成器模式(Builder)生成器模式(Builder)意图:将一个对...