V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
• 请不要在回答技术问题时复制粘贴 AI 生成的内容
MoeMagicMango
V2EX  ›  程序员

小 心 任 何 二 次 接 手 的 代 码

  •  1
     
  •   MoeMagicMango ·
    moyoez · 65 天前 · 11286 次点击
    这是一个创建于 65 天前的主题,其中的信息可能已经有所发展或是发生改变。

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

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

    开篇惊喜

    image.png

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

    Interface 乱飞

    image.png

    怪不得会跑路

    能跑就行的逻辑

    Cookie 生成逻辑

    image.png

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

    image.png

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

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

    image.png

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

    硬编码 +++++

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

    image.png

    image.png

    image.png

    image.png

    最后

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

    第 1 条附言  ·  65 天前
    害怕,第一次发的贴子火起来了

    大致看了下各位的回复,确实,代码评价之处确实带入了我自己修改的个人恩怨了,而且存在自身经验不足,并且认为“应当这样做才是合理的”,算是我自己经验不足的问题

    发这贴子也是一时整的无语了 (实际上是接了三套 两客户界面 + 一 后端)
    太多的硬编码改起来血压挺高的,莫名其妙查出来这一块硬编码,有一说一也挺头疼的,大晚上 DEBUG 为此血压高了几次

    不过也说得对,能用就行,哎
    114 条回复    2024-12-09 16:02:52 +08:00
    1  2  
    simo
        101
    simo  
       65 天前
    看着就像爬虫,可能各个平台爬虫教程太多了,入行门槛降低
    bler
        102
    bler  
       65 天前
    这个代码还行啊,main1,main2 应该是测试代码,我平常也是这样进行测试的,按照标准的测试流程纯属浪费时间。而且最最关键的是你这是爬虫项目,他已经把通用的东西给你提出来,你这还不满足,爬虫项目重复的东西本身就少,费心思封装就是浪费时间,面向对象是规则,那么它就是束缚,后续你发现需求又变了,你设计好的规范很大可能又会被打破,然而你的框架已经成型,你为了新得需求去适配你原来的框架,你会发现不亚于重新写一遍整个项目,所以爬虫项目我的建议就是提一些通用得东西作为工具类就行了。

    cookie 存数据库也没问题,最重要的还是看你的实际访问量,没必要非得上 redis 。

    硬编码确实有点不太好,这样不知道到底有多少东西需要配置,不够直观,但是看你这基本都是数据库和 api key 的东西,基本不会变,也不是不能接受


    代码整体来讲没啥大问题,我都不知道你在抱怨什么,看你这架势估计是 java web 写多了,java 那条条框框确实多
    yulgang
        103
    yulgang  
       65 天前
    他“卖”出去的代码对方果然维护不了
    elevioux
        104
    elevioux  
       65 天前
    代码写多了、看多了之后,感觉心如止水、能跑就行、继续拉屎。

    年轻时候的折腾、重构、代码洁癖,都不及提前下班打游戏重要。
    cabing
        105
    cabing  
       65 天前
    这个 main main1 main2 。。。。

    面向防御性编程了,大学刚毕业也不会这么干。
    Perolong
        106
    Perolong  
       65 天前
    我接手过一个到手都是纯静态 html 的项目,然后原本以为只是改改样式,协助过审就行了,结果需求方这要改那要动,适配手机,加新页面,甚至说出了“大家来看看怎么样改的更好”,欲哭无泪,无奈只能说明情况,宽几天改成 react 不然满足不了那么多变的需求还有 router 要求,只能说干到最后都不是技术问题,是项目管理的问题了
    wnpllrzodiac
        107
    wnpllrzodiac  
       64 天前 via Android
    没有懒代码,只有懒价位。给你 6 位数,小学生写的代码也连连叫香
    l4ever
        108
    l4ever  
       64 天前
    Interface 乱飞??
    人家这里用了 pydantic, 挺好的.
    yuruizhe
        109
    yuruizhe  
       64 天前
    py 代码,动态一时爽,维护火葬场,人来写,鬼来看,吼吼
    yc8332
        110
    yc8332  
       64 天前
    估计就是个简单业务,能跑就行。
    oom
        111
    oom  
       64 天前
    虽然...但是...,为什么账号或密码错误返回 201 状态码
    realpg
        112
    realpg  
       63 天前
    @lcbp #24
    为了几十层的 if 一定要申请一台 4K 显示器开 100%缩放
    justfortest
        113
    justfortest  
       8 天前
    你是没讲过烂的
    justfortest
        114
    justfortest  
       8 天前
    我接受过 go 项目,全是 interface 、magic number 、不明所以的变量名,真 tm 离谱
    1  2  
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   5288 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 21ms · UTC 07:52 · PVG 15:52 · LAX 23:52 · JFK 02:52
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.