网站首页 文章专栏 将自己的代码封装为库-复用代码问题
经常会碰到有些重复使用的代码必须在同一文件夹下才可以调用,为了在不同的代码库中使用他们, 要么拷贝,要么使用git submodule。
做成公共库,解决了复制粘贴的问题,但是会出现代码版本依赖性。即代码A依赖子模块版本1,子模块版本更新到2后,由于公共库是全局更新的,代码A可能无法使用(比如更换了子模块的API等)。第二个问题是代码分发问题,如果有同事借你的代码一用,仅拷贝了代码库中的代码,没有拷贝公共库代码,分发困难。
拷贝简单易行,但是如果修改了子模块,需要重复拷贝才可以让所有代码共用。
git submodule完善的解决了版本依赖问题,但是子模块更新问题需要借助一个公共的“云端”,就是一个任何位置都可以访问到的仓库。