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

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

  •  
  •   dtgxx · 2023-03-21 11:39:34 +08:00 · 4052 次点击
    这是一个创建于 648 天前的主题,其中的信息可能已经有所发展或是发生改变。
    大佬们,有个 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
    取决于你的目的还有是否有在线环境测试。
    只以下观点仅凭个人经验和知识能力得出。
    先说无环境 就硬看,只是为了知道个大概,看看目录结构,定位一下业务核心逻辑块,定位一下路由部分,各种模型定义操作,各种自定义函数,跳过跳过,1—3 天吧。
    如果是要熟知业务流程,各模型定义函数定义还有数据流向变化,可能得一周。
    如果要能上手修改或者新增功能,模块,尽可能不会出现重复定义已有功能模块函数,那 1—2 周。
    如果是为了挖掘安全漏洞,所有业务逻辑全跳过,直接定位危险函数模块,反向追踪数据流向看是否存在人为控制的可能,中低危漏洞比如 xss ,ssrf 之类的直接跳过不找,1—3 天,如果算上找逻辑性漏洞,比如调用外部程序或者有并发性场景数据污染这些 1—2 周。
    以上时间在有环境测试的情况下 时间至少缩短一半。
    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   ·   实用小工具   ·   2729 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 30ms · UTC 13:53 · PVG 21:53 · LAX 05:53 · JFK 08:53
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.