V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
sodapanda
V2EX  ›  程序员

问下具体的读代码的方法

  •  
  •   sodapanda ·
    sodapanda · 2013-06-04 20:28:32 +08:00 · 3733 次点击
    这是一个创建于 4188 天前的主题,其中的信息可能已经有所发展或是发生改变。
    拿一个项目当具体的例子 https://github.com/pfleidi/yaxim

    如何能在这一坨坨字母里边理清错综复杂的结构?

    有什么辅助的工具?
    3 条回复    1970-01-01 08:00:00 +08:00
    lsmgeb89
        1
    lsmgeb89  
       2013-06-04 22:39:01 +08:00
    先 build 一下,然后把它跑起来。根据目录结构看看文件的组织。如果有 readme 和文档要仔细看。跑一下知道下大概的流程,分那几块,然后可以仔细的从一些基础的类开始看,梳理局部的概念。慢慢的把概念搭起来,填充整体的框架。写完感觉一堆废话,大家忽略。另外你可以看看这个 http://fabiensanglard.net/ 其中有一些分析 code 的文章。
    chemzqm
        2
    chemzqm  
       2013-06-04 22:49:09 +08:00
    java的啊?生成UML之类的吧
    chchwy
        3
    chchwy  
       2013-06-05 11:06:06 +08:00
    1. 先把source code都抓下來,並確定可build。
    2. 找到入口,每個程序總有一個入口的,沿著入口追溯進去。
    3. 找份紙筆,把追溯過程的調用關係寫下來。
    4. 如果代碼組織良好,應該可以很快抓住主幹流程。
    5. 如果代碼命名良好,追的過程應該可以判斷哪些函數略過不深入也無所謂。
    6. 找個小地方,改一下程序行為,看看是否符合自己的猜測。
    7. 大概就這樣來回折騰個幾次。
    8. 找個好用的IDE,Java就用Eclipse,定義跳轉,call hierarchy都很好用。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1807 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 23ms · UTC 16:30 · PVG 00:30 · LAX 08:30 · JFK 11:30
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.