主要观点:软件开发者为假定受众,软件包生态系统存在基本张力,即有做一件事且不常改变的小包,和为吸收外界变化需更频繁发布的大包;通过不同门(Door #1 为小包,Door #2 为大包)会有不同数量和结构的依赖图,依赖图的宽度和深度可能掩盖总复杂度,许多小依赖会形成深广的依赖图,大包在字节、复杂度等方面更“重”;最佳策略是构建元包来协调小包变化,虽可选择大包或多依赖,但不能同时抱怨两者;重新构建自己的东西不能消除复杂度,只是将其转移到自己的代码库中,除非只有一个应用程序。
关键信息:不同生态系统存在关于包的辩论,介绍了两种包的类型及带来的影响,强调了构建元包的作用及重新构建的局限性。
重要细节:以 Rust、Python、JavaScript 等生态系统为例说明基本张力,详细阐述通过不同门的依赖图特点,提及 JS 社区的“树摇”概念,以及“不要自己实现加密”的经验教训等。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用。你还可以使用@来通知其他用户。