开发一致库的最佳实践是什么?
我正在开发一对库,用来和一个REST API打交道。因为我需要在不同的环境中使用这个API,所以我打算做一个PHP版本(用于网页应用)和一个Python版本(用于桌面应用和长时间运行的程序)。在开发这些库的时候,有没有什么好的建议可以让我保持清醒呢?
6 个回答
2
试着为这两种语言写一个通用的单元测试套件。可以考虑把一个语言中的类包装起来,以便从另一个语言中调用。如果实在做不到,至少要确保这两个版本的测试是等价的,也就是说它们测试的内容和结果应该是一样的。
2
“做你自己的客户”:我发现先写测试的这个方法非常好,可以确保你的API(应用程序接口)使用起来很简单。先写测试意味着你会像一个‘用户’那样思考你的API,而不仅仅是作为一个实现者。
6
开发不同语言的并行库时,常常会遇到一个问题,那就是不同的编程语言在处理同样的任务时,有各自不同的写法和习惯。我自己就有这样的经历,曾经把一个库从Python移植到PHP。这里的“习惯”不仅仅是命名方式,比如Python有很多神奇的功能,可以通过获取器和设置器让对象的属性表现得像魔法一样;Python还有一种叫做“猴子补丁”的技术;还有命名参数的用法。
在移植的时候,你需要选择一种“基础”语言,然后尽量在另一种语言中模仿这些习惯(这可不是件简单的事);而在并行开发时,最好不要做太复杂的事情,尽量考虑到最基本的需求。然后再加上一些语法上的小花样。