假设让你接手一个中小规模的软件项目,你该如何入手 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
请不要在回答技术问题时复制粘贴 AI 生成的内容
leiuu

假设让你接手一个中小规模的软件项目,你该如何入手

  •  
  •   leiuu 2022 年 4 月 3 日 3046 次点击
    这是一个创建于 1483 天前的主题,其中的信息可能已经有所发展或是发生改变。

    RT.

    项目规模可能是之前一个 4-5 人左右的前后端团队开发,涉及前端、后端、数据等,框架有 10 余种。

    例如最基本的,可能需要熟悉系统的人,提供部署图、目前的整体架构图、git 地址列表等。

    除此之外,交接人提供什么样的图表或者资料,可以供快速熟悉系统?

    对了时间不宜过长,一般是在一个月内。

    感觉是个通用问题,请教大家了。

    第 1 条附言    2022 年 4 月 3 日
    有同学提到了文档的重要性,提供些文档会很重要或者最有帮助?
    第 2 条附言    2022 年 4 月 3 日
    不跑路 哈哈哈 1 月的时间如果有问题 那就增加到 1.5-2 月 目的是看看提供什么文档或走通哪些流程 可以对老系统理解和上手开发最有帮助
    22 条回复    2022-04-04 21:08:24 +08:00
    bootvue
        1
    bootvue  
       2022 年 4 月 3 日
    不该跑路吗
    4ark
        2
    4ark  
       2022 年 4 月 3 日 via iPhone
    这种时候就体现文档的重要性了
    westoy
        3
    westoy  
       2022 年 4 月 3 日   1
    如果能跑, 就别去动它
    Cielsky
        4
    Cielsky  
       2022 年 4 月 3 日 via Android
    文档详细:尽量不动原代码
    文档不全 /没有:趁早跑路
    gotounix
        5
    gotounix  
       2022 年 4 月 3 日
    关键是工作内容,是新功能开发还是老功能维护。功能维护也分很多种情况,负责几个模块还是整个系统。

    我觉得,最重要的还是熟悉业务。建设的比较完善的项目,可能你上面列的那些都有。但是很多情况下,可能只是给你个 git 地址,什么部署图、架构图可能都没有。而且,有可能文档(详设、概设、数据库设计)跟实际代码不一致,或者年久失修。

    只要业务熟悉,碰到问题解决问题,很快就能熟悉代码。
    seakingii
        6
    seakingii  
       2022 年 4 月 3 日   1
    1 所有源码编译一次
    2 在新的测试环境搭建一次所有的模块
    3 所有的文档过一遍
    4 所有的源代码看一遍(至少每个文件打开看看)
    rb6221
        7
    rb6221  
       2022 年 4 月 3 日
    4-人 5 团队的东西让一个人去做,这什么通用问题啊
    pupboss
        8
    pupboss  
       2022 年 4 月 3 日 via iPhone
    这种事我干的多了,让交接给你的人,手把手带你从零搭建起来一套环境,只要能跑起来,以后一切好说

    设计文档作用很小,没人老老实实照着规范写代码,后期 debug 主要靠自己一点一点熟悉
    leiuu
        9
    leiuu  
    OP
       2022 年 4 月 3 日
    @gotounix 同意熟悉业务是个很重要的角度,请教这个实践当中对应什么类型的文档比较好
    leiuu
        10
    leiuu  
    OP
       2022 年 4 月 3 日
    @seakingii 编译一次,部署一次!同意。
    leiuu
        11
    leiuu  
    OP
       2022 年 4 月 3 日
    @janus77 单人接手,后续不一定是单人开发。
    leiuu
        12
    leiuu  
    OP
       2022 年 4 月 3 日
    @pupboss 搭建蛮重要的 但可能只是一个辅助视角 必要的文档对理解系统会更有帮助
    中小规模的系统 逐行读代码的效率会比较差一些 假设有多语言的话 读起来可能会更费劲
    所以可能想着从规范文档的角度 来加速理解系统 以及方便系统传承
    liangkang1436
        13
    liangkang1436  
       2022 年 4 月 3 日 via Android
    让你一个人接手四五个人做的项目,是一个已经成熟的项目你只负责后期维护,还是只开发到一半让你接着开发?你的领导是不是告诉你,这是个机遇同时也是个挑战?哈哈哈哈
    liangkang1436
        14
    liangkang1436  
       2022 年 4 月 3 日 via Android
    涉及到的技术栈那么多,你一个人全部啃下来一个月估计够呛,我建议你扛两天之后就跟领导要人,如果实在要不到,就要点工资涨幅,如果这些都没有,让你硬扛,那你就得考虑跑路了
    leiuu
        15
    leiuu  
    OP
       2022 年 4 月 3 日
    @liangkang1436 哈哈哈 兄弟 你太坏了 我是负责人 只是想看看大家对类似很常见的场景下 如何做更加有效率 感觉传统的工作交接并不一定是最佳实践
    所以想软件工程角度看看 从文档下手 能不能提高交接效率 为后期大家维护和参与开发遗留系统做好铺垫工作
    liangkang1436
        16
    liangkang1436  
       2022 年 4 月 3 日 via Android   2
    我之前待过的公司就干过这种事,不过当事人不是我,是我前同事,他硬扛了一个月,客户不停地发邮件催,他刚入职,不熟悉,确实搞不定,天天加班也搞不定,压力大到流眼泪,领导什么都不管,就让他自己这么扛,最后他跑路了,这种状况下,人是不会有成长的,还会打击你的信心,让你更加害怕困难和挑战
    liangkang1436
        17
    liangkang1436  
       2022 年 4 月 3 日 via Android
    @leiuu 哈哈哈,不好意思,那我分享的例子就不适合这个帖子了
    leiuu
        18
    leiuu  
    OP
       2022 年 4 月 3 日
    @liangkang1436
    真实例子对分析也是有帮助的 !
    如果不是候选人本身能力问题的话
    这个我感觉是前领导问题 新人上来接项目是不合适的 负责人起码前期做一些铺垫的 简单系统还好 如果新人面临业务不熟悉、技术栈有偏差的情况下 激进推进是不合适的
    jones2000
        19
    jones2000  
       2022 年 4 月 4 日
    首先看这个项目是否是公司重要的项目,是否是公司盈利项目, 如果是就硬抗了,文档, 代码,调试,业务逻辑都看, 不知道的问团队的人。 如果是无关紧要,或内部工具, 那就自己了。
    tedding
        20
    tedding  
       2022 年 4 月 4 日
    vue2 迁移 到 angular 12 , 没有文档 纯代码手工迁移 6 个周才搞定所有功能,包括所有 ts 类型
    bthulu
        21
    bthulu  
       2022 年 4 月 4 日
    @tedding 好端端的为啥要迁移, 等你离职了, 下一个人岂不是又要花两个月迁移回 vue3, 你们这么做, 对得起老板发的工资么
    tedding
        22
    tedding  
       2022 年 4 月 4 日
    @bthulu 说话的时候你为啥不思考一下再指责? 你觉得这种事情是为什么?原因是很简单 就是公司规划的技术栈 是 angular ,vue 项目 是遗留问题,要不然怎么会有迁移一说?
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     1679 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 110ms UTC 16:19 PVG 00:19 LAX 09:19 JFK 12:19
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86