1

我有一个 Web 应用程序,我们现在正在为其添加 API。

我正在寻找在此工作时要牢记的最佳实践。

我正在考虑这些因素:

  • DRY:避免冗余(尽可能)。以处理表单提交的部分代码为例。有些部分仅适用于 Web 表单提交,但与等效的 API Post 调用无关。我正在考虑模块化这个 Post 处理程序背后的公共代码。我必须补充一点,Web 表单和 API 的处理程序类是不同的。我正在创建具有通用方法的第三类。这第三个类将由两个处理程序类继承(连同它们的其他基类,多重继承)。

  • 我是否应该重构代码,以便 Web 表单“发布”处理程序方法依次调用 API 发布方法?

谢谢。

4

1 回答 1

0

我认为具体情况会因具体情况而异,但我最近做了类似的事情,我会分享我的想法。

这就是我组织我的处理程序的方式,所以我不再重复自己:

class MyHandler(webapp2.RequestHandler)
    class ApiHandler(MyHandler):
        class Ajax(ApiHandler): # Ajax calls on my website
        class V0(ApiHandler): # V0 of my REST API for third parties
    class WebHandler(MyHandler):
        class HomePage(WebHandler):
        class OtherPage(WebHandler):

我添加了很多可供子类使用的实用方法。例如,MyHandler有一个write_json方法,因为它在很多地方都使用,并且ApiHandler有一个process_json方法,因为它只被 API 使用。

我认为通过让一个 post 方法调用另一个 post 方法来避免重复自己是一个坏主意。相反,我认为在模型级别进行重构会让你的代码更干净。

于 2017-02-21T13:50:18.483 回答