小 心 任 何 二 次 接 手 的 代 码

18 小时 53 分钟前
 MoeMagicMango

上周接手了个项目,老板说大部分项目都不能工作,本来是以维护的价格来处理接手这一段代码的

没想到坑比我想的还多,这是其中展示通用的一部分,大部分出于保密性就不能透露了

开篇惊喜

我滴妈欸,你说这是 Python 新手练手的代码我都信了,这是家公司的代码???

Interface 乱飞

怪不得会跑路

能跑就行的逻辑

Cookie 生成逻辑

给 User 生成 Cookie 用的,不是 用 个 JWT 会要了命吗?这么写干嘛啊

而且最草的一点,Cookie 存在 MYSQL 数据库 里面

大哥,这人一多不得打穿数据库啊(

每个请求都要往数据库请求一次,妈欸

硬编码 +++++

存心不给维护啊,写硬编码写了十几处

最后

已经在重新写这一套玩意了,真的太哈人了

7813 次点击
所在节点    程序员
106 条回复
zerovoid
11 小时 22 分钟前
应该没人接帮人改 bug 的活吧,重新做一套都比这省时省力,二开也是保证接手的代码能运行,然后尽量不动原来的代码。
Track13
10 小时 34 分钟前
这才到哪,我接手的前端项目,那煞笔二次封装 element-ui 连双向绑定都没有。全部参数和随机密码一样。
到处是 arr1 ,arr2 互相循环修改数组,然后得出 obj1 ,obj2 。但文件组件 5000 行起。😭
guanhui07
10 小时 25 分钟前
见过更恶心的
lcbp
10 小时 13 分钟前
cookie 和 token 有本质区别,token 也不是只有 jwt 。

过期时间通过 get 扫表确实是问题,应该后台定时任务。

见过几十层 if 的吗?缩进都换屏了。
Bingchunmoli
10 小时 11 分钟前
@zhenjiachen 不正常,如果是 jwt 存 redis 如果是 session 序列化文件和 db 有什么关系
zhtyytg
10 小时 8 分钟前
@Track13 点了,水平不够又喜欢二次封装,用起来头都大了。
sagaxu
10 小时 3 分钟前
这代码质量还算不错了,比我接手过的大部分代码强 10 倍。

Cookie 存 DB 也是正常操作,小公司也不会有性能瓶颈,DB 打不死的。硬编码也看什么东西,API 请求地址之类的不太会更新的东西,写死也不影响可维护性。
zhenjiachen
10 小时 2 分钟前
0xD800
10 小时 0 分钟前
等用户多写死了 就有活继续优化了呀
BeijingBaby
9 小时 58 分钟前
[又不是不能用,又不是不能跑]
967182
9 小时 52 分钟前
大哥,你这系统有多少用户啊,就打穿数据库了
dayeye2006199
9 小时 48 分钟前
菜鸡我一概推荐 django ,而不是 flask 和 fastapi 这种 free form 的。
其实 spring 也差不多 django 这个意思,给你框死死的,水平高低整出来的活都差不多。

最怕就是 flask / fastapi 这种,新手写简直要了命
k9982874
9 小时 43 分钟前
你这比我司运营了 10 几年的项目好多了,就说一点我们这项目技术栈横跨了 php ,java ,nodejs ,golang ,lambda ,每个技术栈都是在正在火的时候老板赶时髦要求加的,你就说牛不牛 b 吧
sn0wdr1am
9 小时 42 分钟前
主打一个够用就好。

俗称屎山代码。
anakinsky
9 小时 39 分钟前
存 db 正常啊,又不是人均百万并发,哈哈🤣
zydxn
9 小时 35 分钟前
这注释不像是给人看的,像是给 AI 生成用的 prompt
wupher
9 小时 34 分钟前
我还见过更疯的。

本来一个 DB 查询能搞定的事,硬写成 for 循环,一个个来查。

关键最后发现查了还没什么用。找产品建议取消显示这个字段,注释掉 for 查询,速度一下就上去了。
aarontian
9 小时 33 分钟前
其实我也想说 cookie 存数据库是基操,不是热门 toC 项目没那么容易打穿,也不用引入 redis 啥的
v2orz
9 小时 30 分钟前
又不是不能用
我就认识一个老板,先花钱从同行公司买一个版本代码(原版本也不咋地),招了一个全职 Java 开发做二开,工资 4000
你猜 2 年之后这个代码变成什么样了?

就这样,老板在业务稳定后,为了节约成本,把这 4k 的兄弟也开了,月 2000 块找了个兼职
kpsanmao
9 小时 27 分钟前
深深赞同,最近接了个私活,一个小程序商城,后端是拿 dedecms 5.3 - 5.6 ,反正还没到 5.7 的版本 N 次开发的。

那都不知道多少手了,我在里面看到了"送水"、"考试"、"广告联盟"、"商城"等 N 多的内容。前端传来的参数没有任何过滤,数据库操作类每个人一个封装一个,一个函数里可能调用了多个数据库操作类的方法,比如获取一条记录有的叫 get_one ,有的叫 getOne ,有的叫 first ,有的叫 find 。而这个公司拿着这个服务端的代码,号称完全自主开发,已经干了 14 年了。

我真不知道怎么坚持下来的,就那参数不过滤,还做商城,没人干他们吗?我实在理解不了。脑袋都要大了,中途有 N 次想要退钱不干了,好在还是坚持下来了,又往屎山上拉了一泡。

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

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

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

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

© 2021 V2EX