三万五千行代码需要看多久 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
请不要在答技术问题时复制粘贴 AI 生成的内容
dtgxx
V2EX    程序员

三万五千行代码需要看多久

  •  
  • /li>
  •   dtgxx 2023-03-21 11:39:34 +08:00 4517 次点击
    这是一个创建于 1013 天前的主题,其中的信息可能已经有所发展或是发生改变。
    大佬们,有个 java 底层项目,里面跑的不是 web 业务,只有少量的接口,大量的都是不同的执行逻辑,统计了下行数,去掉空行一共三万五千行左右,我想熟悉代码里面的内容,大约得看多久呀。。。目前上班别的事情基本不干,就看代码。 java 代码我相对还比较熟悉。
    18 条回复    2023-03-22 12:19:48 +08:00
    cvbnt
        1
    cvbnt  
       2023-03-21 11:47:46 +08:00 via Android
    一星期吧
    panlatent
        2
    panlatent  
       2023-03-21 13:16:17 +08:00   17
    @cvbnt 你这不得两年半?
    bjzhush
        3
    bjzhush  
       2023-03-21 13:23:40 +08:00
    先熟悉业务和代码功能,功能搞清之后,根据功能去找对应的代码块,试着调试和微改,搞清代码的主要逻辑。
    拎出重要功能和对应代码,重点看,一些边边角角的东西可以不看
    opengps
        4
    opengps  
       2023-03-21 13:27:19 +08:00
    看逻辑流程图就行了,不需要调整内容犯不着去翻阅代码
    twdhsbc
        5
    twdhsbc  
       2023-03-21 13:28:51 +08:00
    先看架构。
    dengshen
        6
    dengshen  
       2023-03-21 16:49:41 +08:00
    @panlatent #2 你撤回, 把这句话给一楼! 配合头像, 哎唷 你干嘛, 我肚子笑痛了
    kop1989smurf
        7
    kop1989smurf   2023-03-21 16:54:31 +08:00
    这不光取决于代码,还取决于:
    1 、有文档么?包括但不限于(概要设计、类表结构说明、详细设计)
    2 、有注释么?
    3 、能跑么?
    4 、你看代码的目的是什么?

    如果目的只是了解业务,那么在文档、注释、运行都齐备的情况下,两三天基本上就能搞定。
    否则无上限。
    shiqueb
        8
    shiqueb  
       2023-03-21 16:59:34 +08:00 via Android
    一个星期吧,然后就会发现是坨屎完全没有继续看的欲望
    paradoxs
        9
    paradoxs  
       2023-03-21 17:08:03 +08:00
    别说那么多没用的, 3 天之内搞不定换人。
    ThreeK
        10
    ThreeK  
       2023-03-21 18:13:45 +08:00
    '大量的都是不同的执行逻辑' 这你可惨了,逻辑就慢慢去捋吧,万一代码经历的人多,一个人一个写法习惯就更难看了。
    我的建议先看下 git 提交记录,先看最初最少的代码,再看一些有意义的 commit ,看看啥需求,是怎么加的代码。
    giveitupyu
        11
    giveitupyu  
       2023-03-21 18:24:26 +08:00
    看调用链,熟悉主流程,次要流程留个印象,知道有这么个东西就行
    yedanten
        12
    yedanten  
       2023-03-21 18:28:43 +08:00 via Android   1
    取决于你的目的还有是否有在线环境测试。
    只以下观点仅凭个人经验和知识能力得出。
    先说无环境 就硬看,只是为了知道个大概,看看目录结构,定位一下业务核心逻辑块,定位一下路由部分,各种模型定义操作,各种自定义函数,跳过跳过,13 天吧。
    如果是要熟知业务流程,各模型定义函数定义还有数据流向变化,可能得一周。
    如果要能上手修改或者新增功能,模块,尽可能不会出现重复定义已有功能模块函数,那 12 周。
    如果是为了挖掘安全漏洞,所有业务逻辑全跳过,直接定位危险函数模块,反向追踪数据流向看是否存在人为控制的可能,中低危漏洞比如 xss ,ssrf 之类的直接跳过不找,13 天,如果算上找逻辑性漏洞,比如调用外部程序或者有并发性场景数据污染这些 12 周。
    以上时间在有环境测试的情况下 时间至少缩短一半。
    coolmenu
        13
    coolmenu  
       2023-03-21 18:29:31 +08:00
    用 chatgpt 看,每天喂他 3000 行
    lincanbin
        14
    lincanbin  
       2023-03-21 19:04:42 +08:00
    看主流程,不要看细枝末节的实现。
    看业务复杂度,简单点的可能两三天就能看完主流程。
    auh
        15
    auh  
       2023-03-21 19:17:56 +08:00
    一天 2000 行
    ianEros
        16
    ianEros  
       2023-03-21 19:20:45 +08:00
    摸鱼不看 啥时候有需求现看 改哪看哪
    LLaMA
        17
    LLaMA  
       2023-03-21 21:40:39 +08:00
    5 分钟
    zagfai
        18
    zagfai  
       2023-03-22 12:19:48 +08:00
    java 代码。。。看 getter setter 吗?
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     2683 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 35ms UTC 11:39 PVG 19:39 LAX 03:39 JFK 06:39
    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