我最近在做一个 Web 服务项目,并意识到我选择的架构效率极低。
我以一种非常程序化的方式编写了这篇文章,带有一点 OOP 和使用 Python 的标准异常处理的提示。基本上,它将按程序逐步检查数据,验证预期数据的存在,根据正则表达式验证数据,根据数据库验证一些数据,执行一些特定逻辑,检查错误,然后最终返回响应。提到所有数据都是使用 JSON 交换的,这可能会有所帮助。
我试图回顾代码,找到任何重复的异常,并将它们的处理推到逻辑链的顶部。这并不像我希望的那样容易,而且实际上花费了更多时间。它还使我的代码更容易出现错误,因为它的单元可测试性更低且更难阅读。
我注意到这种用于处理用户数据的程序代码范式很容易与 Web 开发相结合。例如,在 PHP 中处理表单时,可能会对数据运行一系列连续的 isset() 和 !empty() 方法。我对这种编码风格的问题是我觉得我花费了大量的时间来为错误事件编码,并且很难为这个特定目的概括和重用代码。
各种框架通过使用表单类(例如 Django)提供了很好的解决方法。但是,我注意到虽然您通过减少验证逻辑的重复来节省时间,但您仍然需要为每个预期输入“构建”一个表单。在处理软件即服务时,可能有数百个 API 方法需要您编写代码。OOP 在这里提供了一个好处,但有时客户可能会设置一个奇怪的要求,从而消除所获得的任何效率。
Web 应用程序可以从遵循 MVC 等范例/架构中受益匪浅。以我个人的经验,MVC(以及使用其原理的框架)并不能很好地解决这类问题。我考虑过使用函数式语言,但还没有尝试过。
是否有任何特定的语言、架构/范式、约定,甚至是非常适合开发自定义 SASS 或 Web 服务项目的示例框架?