V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
liangnostr
V2EX  ›  开源软件

请教下高手,关于阅读开源代码的问题。

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

    我一直有这样一个需求:经常看 github 上面的开源项目,然后看懂源代码有一个技巧就是从他的 1.0 版本开始,因为最新的版本代码都太复杂了,不容易抓住代码的主干。可是每次我把 1.0 版本下载下来,我都要折腾半天的环境配置,就算按照 1.0 版本的依赖安装文件安装了各种对应库。运行调试代码也经常会出现错误, 原因可能是你虽然安装了相应的库,但是因为你的操作系统不兼容或者其他导致很多的错误。

    我喜欢通过调试, 一步一步的弄懂开源代码。有没有一种更好的服务,就是说可以直接运行 github 上的开源项目最初版本。比如从最初的 1.0 版本开始调试,不需要我配置任何环境。有这样的服务吗?按理说这是一种刚需啊?至少我经常有这种需求。Docker 没玩过,不知道能否满足需求。

    11 条回复    2023-08-17 13:34:46 +08:00
    FrankFang128
        1
    FrankFang128  
       258 天前
    https://www.bilibili.com/video/BV1nP411w7tx/ 我的视频:怎么阅读源代码。
    liangnostr
        2
    liangnostr  
    OP
       258 天前
    @FrankFang128 大概浏览了一下,好像没有解答我的疑问哦
    hsfzxjy
        3
    hsfzxjy  
       257 天前 via Android
    docker 可以
    securityCoding
        4
    securityCoding  
       257 天前 via Android
    头皮还不够硬,想学真东西只能根据主线支线硬啃源码
    Cola98
        5
    Cola98  
       257 天前
    你可以一个版本一个镜像,docker 里面是可以做调试的。
    liangnostr
        6
    liangnostr  
    OP
       257 天前
    @hsfzxjy 谢谢回复,可以试试
    liangnostr
        7
    liangnostr  
    OP
       257 天前
    @Cola98 谢谢回复,再借问一步,docker 会自动帮你安装所有环境吗?
    hsfzxjy
        8
    hsfzxjy  
       257 天前 via Android
    @liangnostr 自动是不会自动的,你要根据你的需要编写对应的安装命令( dockerfile ),只是相比于真机环境,docker 基本不会出现包冲突的问题
    liangnostr
        9
    liangnostr  
    OP
       257 天前
    @hsfzxjy 好的,试着去学下 docker 。貌似 github 新出的 codespace 也能满足我需求。
    Cola98
        10
    Cola98  
       257 天前
    @liangnostr 和 8 楼说的一样,你需要自己写 dockerfile
    julyclyde
        11
    julyclyde  
       255 天前
    你遇到的这些问题,即使你用最新版本也可能遇到,只是有可能比 1.0 稍微容易解决一点而已
    但你去读 1.0 最后并不会获得什么正经收益的,只是浪费时间而已
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   978 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 31ms · UTC 22:01 · PVG 06:01 · LAX 15:01 · JFK 18:01
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.