- - PR -
おおきなソースを読み進めるコツ
投稿者 | 投稿内容 | ||||
---|---|---|---|---|---|
|
投稿日時: 2006-06-09 11:58
オープンフリーなソフトはソースが公開されているので,
勉強のためとソフトの理解のためにソースを読もうと思うのですが, 大きなソース群をどうやって読み進めたらいいか判らず途方にくれそうです。 今はC言語のソースに手をかけているのですが,いろんなhファイルやcファイルを行ったり来たりで迷子になります。 一応,main関数を探して,そこから読み進めていく感じなんですが・・・ 何かコツとかあるんでしょうか? | ||||
|
投稿日時: 2006-06-09 12:21
一般論ですが…
いきなり大きな物を理解しようとすると得てして 失敗しますよ。 まずは簡単なソースコードから眺めるべきだと思います。 | ||||
|
投稿日時: 2006-06-09 12:37
大きなソースと言っても、小さなモジュールの集まりに過ぎません。(普通は... ですが) 機能が大きいというより、機能の '数' が多いわけです。 モジュールというのは 「部品」 ですから、その部品が何をやっているか、 全体の '構成' を見てから、'何を' 見たいかで、見る範囲が狭まります。 # と言いつつ、しばらくぶりにある基盤の保守をしていたら、途方にくれそうだった... orz _________________ C# と VB.NET の入門サイト じゃんぬねっと日誌 | ||||
|
投稿日時: 2006-06-09 12:37
main から始めるんじゃなくて、特定の機能に絞って追いかけると面白いかもしれません。
例えば何かのエディタのソースを眺めているなら、カレットを移動している箇所を探してみる。 「caret」とかで検索して、該当箇所を見つけたら、右左の移動を逆にしてみる。 コンパイル、実行。 そうやって、ちょこちょこと弄ってみて確認するのが良いかと。 _________________ 囚人のジレンマな日々 | ||||
|
投稿日時: 2006-06-09 12:47
私の場合は、mainから始めはするけど、メインループを見つけるようにしますね。
それっぽいところまでは、ほとんどすっ飛ばしです(関数名から分かることが多いし) そのループの中で、どういう関数をどういう順で呼び出しているかをざっと把握してから、興味のある関数だけ掘り下げていくとか。 でかいソースでは、頭からしっかり追うなんてとてもやってられません。 | ||||
|
投稿日時: 2006-06-09 12:53
「Code Reading―オープンソースから学ぶソフトウェア開発技法」 Amazon: http://www.amazon.co.jp/gp/product/4839912653/249-2419575-0061942?v=glance&n=465392 という書籍がお勧めです。 コードの読み方の解説書です。 コードを読みたい!って方には必携の書だと思います。 | ||||
|
投稿日時: 2006-06-09 12:59
ソースを読む目的によるとおもいますが、 トムさんの場合は勉強のためということなので、 ソースコードの解析ツールをお使いになってはどうでしょう? わたしは以前よく、cflow とか使ってましたが、 今は良いツールもいろいろと出ているんではないでしょうか。。 _________________ takepon てんてこダンス | ||||
|
投稿日時: 2006-06-09 13:13
FYI: ひらメソッド
|