- PR -

おおきなソースを読み進めるコツ

投稿者投稿内容
トム
常連さん
会議室デビュー日: 2005/11/22
投稿数: 32
投稿日時: 2006-06-09 11:58
オープンフリーなソフトはソースが公開されているので,
勉強のためとソフトの理解のためにソースを読もうと思うのですが,
大きなソース群をどうやって読み進めたらいいか判らず途方にくれそうです。
今はC言語のソースに手をかけているのですが,いろんなhファイルやcファイルを行ったり来たりで迷子になります。
一応,main関数を探して,そこから読み進めていく感じなんですが・・・

何かコツとかあるんでしょうか?
NAO
ぬし
会議室デビュー日: 2001/10/24
投稿数: 1256
お住まい・勤務地: 神奈川のはずれから東京の下町
投稿日時: 2006-06-09 12:21
一般論ですが…

いきなり大きな物を理解しようとすると得てして
失敗しますよ。

まずは簡単なソースコードから眺めるべきだと思います。 
じゃんぬねっと
ぬし
会議室デビュー日: 2004/12/22
投稿数: 7811
お住まい・勤務地: 愛知県名古屋市
投稿日時: 2006-06-09 12:37
引用:

トムさんの書き込み (2006-06-09 11:58) より:

大きなソース群をどうやって読み進めたらいいか判らず途方にくれそうです。
何かコツとかあるんでしょうか?


大きなソースと言っても、小さなモジュールの集まりに過ぎません。(普通は... ですが)
機能が大きいというより、機能の '数' が多いわけです。

モジュールというのは 「部品」 ですから、その部品が何をやっているか、
全体の '構成' を見てから、'何を' 見たいかで、見る範囲が狭まります。

# と言いつつ、しばらくぶりにある基盤の保守をしていたら、途方にくれそうだった... orz

_________________
C# と VB.NET の入門サイト
じゃんぬねっと日誌
囚人
ぬし
会議室デビュー日: 2005/08/13
投稿数: 1019
投稿日時: 2006-06-09 12:37
main から始めるんじゃなくて、特定の機能に絞って追いかけると面白いかもしれません。
例えば何かのエディタのソースを眺めているなら、カレットを移動している箇所を探してみる。
「caret」とかで検索して、該当箇所を見つけたら、右左の移動を逆にしてみる。
コンパイル、実行。
そうやって、ちょこちょこと弄ってみて確認するのが良いかと。
_________________
囚人のジレンマな日々
mio
ぬし
会議室デビュー日: 2005/08/25
投稿数: 734
お住まい・勤務地: 神奈川県
投稿日時: 2006-06-09 12:47
私の場合は、mainから始めはするけど、メインループを見つけるようにしますね。
それっぽいところまでは、ほとんどすっ飛ばしです(関数名から分かることが多いし)
そのループの中で、どういう関数をどういう順で呼び出しているかをざっと把握してから、興味のある関数だけ掘り下げていくとか。
でかいソースでは、頭からしっかり追うなんてとてもやってられません。
gaf777
会議室デビュー日: 2003/08/20
投稿数: 19
お住まい・勤務地: 大阪
投稿日時: 2006-06-09 12:53

「Code Reading―オープンソースから学ぶソフトウェア開発技法」
Amazon:
http://www.amazon.co.jp/gp/product/4839912653/249-2419575-0061942?v=glance&n=465392
 という書籍がお勧めです。
コードの読み方の解説書です。

 コードを読みたい!って方には必携の書だと思います。
takepon
ベテラン
会議室デビュー日: 2005/11/28
投稿数: 55
お住まい・勤務地: 千葉県・東京都
投稿日時: 2006-06-09 12:59
引用:

オープンフリーなソフトはソースが公開されているので,
勉強のためとソフトの理解のためにソースを読もうと思うのですが,
大きなソース群をどうやって読み進めたらいいか判らず途方にくれそうです。
今はC言語のソースに手をかけているのですが,いろんなhファイルやcファイルを行ったり来たりで迷子になります。
一応,main関数を探して,そこから読み進めていく感じなんですが・・・



ソースを読む目的によるとおもいますが、
トムさんの場合は勉強のためということなので、
ソースコードの解析ツールをお使いになってはどうでしょう?

わたしは以前よく、cflow とか使ってましたが、
今は良いツールもいろいろと出ているんではないでしょうか。。


_________________
takepon
てんてこダンス
スフレ
ぬし
会議室デビュー日: 2005/05/27
投稿数: 281
お住まい・勤務地: 東京
投稿日時: 2006-06-09 13:13
FYI: ひらメソッド

スキルアップ/キャリアアップ(JOB@IT)