API 和 管理后台 要分开吗?

2019 年 1 月 11 日
 zohuchneg

接手了一个天使轮的烂项目,头疼..一坨代码,都不知道怎么下手, 目前情况是,项目用 flask 写的,管理后台也没有前后分离,用的 jinja2 模板。API 支撑着小程序和 APP,而且 API 和后台都在一个项目里面,后台和 API 的代码耦合太大。现在后台一直在频繁更新,API 没改动也得跟着跑测试,一发布 API 也得停。

不行就推翻重来了,反正人多。 我想知道现在业界流行的做法是什么样的,一开始这种项目要如何设计? 大伙给点思路。

5877 次点击
所在节点    Python
25 条回复
zohuchneg
2019 年 1 月 11 日
一直干着传统开发,对互联网这些产品要如何设计,经验太少。
lsido
2019 年 1 月 11 日
看什么项目吧,项目小没必要
不过我一般都是分开的
limbo0
2019 年 1 月 11 日
这就是前人的坑,不行重新开呗
zohuchneg
2019 年 1 月 11 日
@lsido 分开的话, 比如 model 层,这些会存在复用, 每个部分都要维护同样的代码?
Muninn
2019 年 1 月 12 日
竟然有测试……

那现在烂还是将来更烂还两说呢
pathbox
2019 年 1 月 12 日
看你的情况,分开是最好的吧
simple2025
2019 年 1 月 12 日
分成两个分支不就好了吗
iyangyuan
2019 年 1 月 12 日
做成微服务一步到位
janxin
2019 年 1 月 12 日
@zohuchneg model 层可以做个 wheel,当依赖发;也可以做成服务
luozic
2019 年 1 月 12 日
dengtongcai
2019 年 1 月 12 日
小项目不用,后面有需要再拆
msg7086
2019 年 1 月 12 日
天使完了以后如果之前的东西实在太烂就重来呗。重点是合理评估代码的质量。
Vegetable
2019 年 1 月 12 日
这个问题其实很简单,把入口文件复制一份端口,单独作为后台,nginx 配置调一下。
这样测试一起测,改后台逻辑不用动线上 API
nicevar
2019 年 1 月 12 日
需要分开的,我的个人项目都分开,你这这样搅在一起改后台能把 api 部分搞挂了,如果 api 部分访问激增服务器扛不住,后台也跟着无法使用。
model 层抽出来作为有个模块就行了,api 跟后台有差异的,后台基本上没有太多的性能要求,同样的数据库操作,后台用一些封装的 orm 库之类的就行了,但是 api 部分可能需要进行优化处理。
gowk
2019 年 1 月 12 日
建议用 Go 重写之
motai
2019 年 1 月 12 日
必须拆,被这种坑好几次了
zohuchneg
2019 年 1 月 12 日
@nicevar 现在很多业务逻辑都写在了 model。 按你的意思,把 model 抽出来,业务封装到各自的 service 层。model 只作为一个基础而已。
zohuchneg
2019 年 1 月 12 日
@Muninn 测试都是我们接手后 加的.... 之前都是个人开发。
avenger
2019 年 1 月 12 日
后台数据也改成 api 调用不就行了?统一接口
loading
2019 年 1 月 12 日
起码 api 的 url 规划要分开。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/526223

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX