今天做了一件有些风险的事情 - 将Incutio XML-RPC库基于PHP的命名空间改写了一下,但vendor还继续用了Incutio\ 。其实这很可能触犯了原作品的许可协议或是著作权之类。
整个过程,还有几个感受:
1. 代码重用的基本思想
代码重用,分团队内和团队外,我们提取出来的可重用代码可能与其它团队在功能上会有部分重复,所以代码的耦合度需尽可能低,保证总有那么一部分代码是可以重复使用的。否则,还不如坐等别人的相关代码库出现。
2. 包管理的工具使用
像composer这样的PHP包管理工具,制定了一套包管理规范,并实现及提供了相关的工具来提供PHP世界的代码复用和分发便捷机制。实际上,每个人,每个团队都可以使用它。
3. 代码没有完整测试过
基于NS重构该库后,我并没有完整的测试相关功能,因为首先库本身并不具备相关测试用例和代码。所以,为了保障代码本身的生命力,我们需在发布代码时,尽可能提供代码的测试代码。
- 项目github地址:https://github.com/web3d/ixr
- packagist地址:https://packagist.org/packages/incutio/xmlrpc
- composer安装命令:composer require incutio/xmlrpc