各位大佬,具体是如何读代码的呢? - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
请不要在回答技术问题时复制粘贴 AI 生成的内容
Seck
V2EX    程序员

各位大佬,具体是如何读代码的呢?

  •  
  •   Seck 2 天前 2231 次点击

    第一:我是认为有必要提一下,从 大部分人实践过程或者交流代码 的角度来说,都有必要

    市面上有一本书教你快速阅读代码的吗? 我个人没见过,如果有希望大家推荐下(有教我们如何学习,如何阅读,但是这里按理来说也应该有)

    第二:流程图方面

    chatgpt 告诉我,尝试画出状态机 、也包括流程图 、


    AI 推荐的方式是

    先从基本的 API 层看起,明确库的用途(这里是不是具体模块不确认)

    然后:看动态调用路径,画出结构关系图、流程图、状态机

    这一句我感觉很有用:

    方法:不要连续看文件,先按功能逻辑理解,再跳源码细节。

    这是我整理,感觉他在胡说,各种点到( AI 通病,啥都说)


    大家是如何看代码的,尤其是流程图方面(有必要状态机吗),真心提问,任何回答都是有用的,十分感谢!

    可能是我看了太多 AI 的回答,人麻了

    20 条回复    2025-11-11 09:03:08 +08:00
    yuji
        1
    yuji  
       2 天前   1
    claude code 出现之后,我已经没有动力读源码了。想知道核心原理,git clone xxxx ,然后 claude ,然后一通问
    terryso
        2
    terryso  
       2 天前 via iPhone   1
    @yuji 正解
    han3sui
        3
    han3sui  
       2 天前   1
    楼上加一 直接 claude code 问出自己的疑惑
    wklken
        4
    wklken  
       2 天前   1
    github 上的项目可以用 https://deepwiki.com/
    m1nm13
        5
    m1nm13  
       2 天前   1
    cursor copilot 的时代, 直接框选代码,增加注释

    claude code 的年代. 直接开问
    LeegoYih
        6
    LeegoYih  
       2 天前
    Debug 一遍就好了,除非你说的代码是数据库这些服务类的
    jiayouzl
        7
    jiayouzl  
       2 天前
    直接 init 基本知道个大概了,要在详细就继续问,一般 init 都足够了。肯定比人自己读详细。
    lin784264272
        8
    lin784264272  
       2 天前   1
    推荐《程序员大脑》这本书,我也是从 gpt 找的,不过这本书缺乏 IDE 相关的,如果是 vscode 可以用 codeTour ,folder alias ,explorer bookmark 这些插件,还可以让 AI 生成 md 文档来写出调用链支持链接跳转
    liyafe1997
        9
    liyafe1997  
       2 天前
    用 AI 读
    sir283
        10
    sir283  
       1 天前
    先把项目 clone 下来,能跑通,再根据自己需求,去阅读对应的代码,如果跑不通,怎么弄都不行,最后发现是少了某些文件,比如 csmoe 、shizuku 这种项目,那就可以删掉,放弃了。
    kiraskyler
        11
    kiraskyler  
       1 天前
    用对应语言的调试工具,具体某个功能模块,一点一点单步调试跟着读
    swananan
        12
    swananan  
       1 天前   1
    分享一个写的很好的博客,虽然现在 AI 可以帮助我们读各种代码,进行分析和总结,但是我觉得指导思想没有太多变化。

    https://www.codedump.info/post/20200605-how-to-read-code/
    neal1986
        13
    neal1986  
       1 天前
    有多的我都拿去看了 代看都不看
    cj22tiantian
        14
    cj22tiantian  
       1 天前
    如果 claude 可以完美支持语音,我相信我连键盘都不需要了。
    luckyc
        15
    luckyc  
       1 天前
    lizy0329
        16
    lizy0329  
       23 小时 4 分钟前
    问 AI 能知道大概,但具体细节需要你自己一边使用一边问一边看文档,具体来说阅读代码,AI 有点用,但没大用
    detached
        17
    detached  
       22 小时 48 分钟前
    一楼已经是 AI 时代的 best practice 了
    yh7gdiaYW
        18
    yh7gdiaYW  
       22 小时 38 分钟前
    按功能看,从头串流程。AI 只适合代码比较清晰的单一项目,看开源项目和工具类项目可以,看屎山代码和企业级一个功能串十几个服务的项目还是不行
    Seck
        19
    Seck  
    OP
       21 小时 47 分钟前
    @yh7gdiaYW 这就是我的,这方面的问题重心。解决方式,目前来说只有:画图。
    WashFreshFresh
        20
    WashFreshFresh  
       55 分钟前
    带问题,没问题读代码只会一扫而过,不进大脑。
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     5896 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 23ms UTC 01:58 PVG 09:58 LAX 17:58 JFK 20:58
    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