接手了一个天使轮的烂项目,头疼..一坨代码,都不知道怎么下手, 目前情况是,项目用 flask 写的,管理后台也没有前后分离,用的 jinja2 模板。API 支撑着小程序和 APP,而且 API 和后台都在一个项目里面,后台和 API 的代码耦合太大。现在后台一直在频繁更新,API 没改动也得跟着跑测试,一发布 API 也得停。
不行就推翻重来了,反正人多。 我想知道现在业界流行的做法是什么样的,一开始这种项目要如何设计? 大伙给点思路。
1
zohuchneg OP 一直干着传统开发,对互联网这些产品要如何设计,经验太少。
|
2
lsido 2019-01-11 23:27:38 +08:00 via iPhone
看什么项目吧,项目小没必要
不过我一般都是分开的 |
3
limbo0 2019-01-11 23:39:49 +08:00 via Android
这就是前人的坑,不行重新开呗
|
5
Muninn 2019-01-12 00:17:38 +08:00
竟然有测试……
那现在烂还是将来更烂还两说呢 |
6
pathbox 2019-01-12 07:39:25 +08:00 via iPhone
看你的情况,分开是最好的吧
|
7
chenqh 2019-01-12 07:54:40 +08:00 via Android
分成两个分支不就好了吗
|
8
iyangyuan 2019-01-12 07:56:57 +08:00 via iPhone
做成微服务一步到位
|
10
luozic 2019-01-12 08:56:29 +08:00
|
11
dengtongcai 2019-01-12 08:59:57 +08:00 via iPhone
小项目不用,后面有需要再拆
|
12
msg7086 2019-01-12 09:24:11 +08:00
天使完了以后如果之前的东西实在太烂就重来呗。重点是合理评估代码的质量。
|
13
Vegetable 2019-01-12 09:27:03 +08:00 via Android
这个问题其实很简单,把入口文件复制一份端口,单独作为后台,nginx 配置调一下。
这样测试一起测,改后台逻辑不用动线上 API |
14
nicevar 2019-01-12 10:01:54 +08:00
需要分开的,我的个人项目都分开,你这这样搅在一起改后台能把 api 部分搞挂了,如果 api 部分访问激增服务器扛不住,后台也跟着无法使用。
model 层抽出来作为有个模块就行了,api 跟后台有差异的,后台基本上没有太多的性能要求,同样的数据库操作,后台用一些封装的 orm 库之类的就行了,但是 api 部分可能需要进行优化处理。 |
15
gowk 2019-01-12 10:10:25 +08:00 via Android
建议用 Go 重写之
|
16
motai 2019-01-12 10:24:53 +08:00 via iPhone
必须拆,被这种坑好几次了
|
17
zohuchneg OP @nicevar 现在很多业务逻辑都写在了 model。 按你的意思,把 model 抽出来,业务封装到各自的 service 层。model 只作为一个基础而已。
|
19
avenger 2019-01-12 11:01:56 +08:00 via iPhone
后台数据也改成 api 调用不就行了?统一接口
|
20
loading 2019-01-12 11:37:49 +08:00 via Android
起码 api 的 url 规划要分开。
|
21
nicevar 2019-01-12 12:26:51 +08:00
@zohuchneg 业务逻辑写在 model 也没什么,mvc 的框架很多都这么写,你的情形如果能把 model 细化一下,能用于 api 独立出来的话可以考虑一下,如果太复杂工作量大真的不如重写 api 模块了,毕竟 python 代码写起来快,其实这种情况个人觉得可以学习 java 的那一套,弄个 Dao 层出来,前期写起来可能比较啰嗦,但是后期维护比较爽
|
22
thet 2019-01-12 13:50:00 +08:00 via Android
model 可以共用吧,把前后台入口区分下
|
23
KgM4gLtF0shViDH3 2019-01-12 14:17:11 +08:00 via iPhone
小公司用 py 写的项目 99.99%的可能性是烂代码
|