当我刚开始学习PHP时(大约5或6年前),我了解了Ajax,并且经历了“阶段”:
- 您的服务器返回HTML数据,并将其放入DOM的 innerHTML中
- 您将了解诸如XML之类的数据传输格式(然后说“噢,这就是它的用途”),然后是JSON。
- 您返回JSON并使用原始JavaScript代码构建UI
- 您移至jQuery
- 您将了解API,标头,HTTP状态代码,REST,CORS和Bootstrap
- 您将学习SPA和前端框架(React,Vue.js和AngularJS)以及JSON API标准。
- 您会收到一些企业旧代码,并在对其进行检查后发现它们执行了步骤1中所述的操作。
当我使用此旧版代码库时,我什至都不认为它可以返回HTML(我的意思是,我们现在是专业人员,对吗?),所以我很难寻找要返回数据的JSON端点。 Ajax调用会填充。直到我问“程序员”,他才告诉我它正在返回HTML,并使用innerHTML直接附加到DOM。
当然,这很难接受。我开始考虑将其重构为JSON端点的方法,并考虑对端点进行单元测试等等。但是,此代码库没有测试。没有一个。超过20万行。当然,我的任务之一是提出测试整个事物的方法,但是目前我们还没有解决。
因此,我无处不在,想知道:如果我们没有任何测试,那么就没有创建此JSON端点的特殊理由(因为它不是“可重用的”:它从字面上返回仅适合该部分的数据)应用程序,但是我认为这已经隐含了,因为它返回HTML数据)。
什么究竟是错这样做呢?