我即将开始编写一个尽可能轻量级的库。
这个库将有几个可以独立行动的模块,但如果用户如此选择,它仍然可以一起工作以实现更大的目标。
我应该提供一种编译库的“仅部分”的方法吗?我应该等到它变大到足以“值得吗?”我在哪里画那条线?
答案 0 :(得分:2)
如果你想让任何人使用你的库(并且喜欢它),那么是的,你需要使它更多而不仅仅是模块化。模块化意味着“这些组件被设计为一起使用,如果你将它们与其他任何东西一起使用,那将是一场艰难的斗争”。
您的每个模块都必须 才能使用我的代码,因为它们来自您的代码。
您需要将每个组件视为一个单独的库,而不仅仅是作为一个单独的模块。
由用户决定引入哪些库,以及如何将它们插入用户代码中。使用某种模块系统,您已经做出了架构决策,并尝试强制用户的应用程序进入您的设计。