コードトレースの技術について

[戻る]
トイ 2005/05/06(金) 09:08:35
突然ですが みなさま失礼いたします。
コードトレース能力についての質問です。

C/C++であれJAVAであれ、コードを読むのはただ単純にテストデータを当てはめて
純粋にトレースすればいいんでしょうが、例えば情報処理資格に代表されるように
コードトレースのスピードが問われるように、仕事でも他人のコードを読むスピード
が問われると思います。
ここで質問なんです。
コードトレースのスピードを上げるよい方法はないものでしょうか。
なんにでも基本というものがあると思いますが、私のトレース能力は悪くはないと
自分では思っていても 現実はもっとスピードの速さが要求されています。
とてもくやしい思いをしています。
コードトレースの基本とはなんでしょうか?
ただ量をこなせばよいのでしょうか?しかし 基本を勘違いしていくら長く量をこなして
も大きな間違いをおかしそうでこわいのです。
どうかこの本気で悩んでいる私の愚問にヒントをどなたか与えていただけないでしょう
か?
よろしくお願いいたします。

シャノン 2005/05/06(金) 09:46:37
#今更言うことでもないかもしれませんが

ただ漫然とコードを追いかけるのではなく、コードの意味、つまり、そのコードを書いた人が何
を意図し、どんな結果を期待して書いた処理なのかをつかむことができれば、スピードはぐんと
上昇すると思います。
意味を読むためには、とにかく経験をつむことだと思います。
同じ意味のコードでも、書き方は何通りもありますから、それぞれの書き方を別個のパターンと
して捕らえていたのでは、いつまでたっても終わりません。
書き方にとらわれず、そこから意味を抽出すること――これには、仕様を知っていることが大き
な助けとなるでしょう――が大切だと思います。

同じ事なのですが、例えばデザパタを勉強してみるとか。
デザパタが適用されたコードならば、どんなパターンかをつかむだけで、意味をつかむ助けにな
ります。
「ここは○○パターンを使っている」とかコメントが書いてあると、ぐっと楽になるでしょう
ね。

たいちう 2005/05/06(金) 10:42:02
上達の為に多くのコードを読むことは必須だと思いますが、
漫然と読んでいても効果は薄いでしょう。
特効薬は無いと思いますが、考えられるアプローチを。

コードが理解しにくいのは、読む人の技量が足りないせいだけでなく、
書く人の技量が足りない面もあるかもしれません。
自分が理解した部分を自分が理解しやすい形に書き換えてみてはどうでしょう。
(書き換えたものを無責任にリリースしないように。当たり前ですが)

このときコメントは付けないようにし、元々のコメントも削除します。
処理が判りにくいからコメントを付けるのではなく、コメント無しでも
判りやすい処理・コーディングにする、ということです。
(実際の仕事では、この主張は受け入れられないかもしれませんが)

そのうち「初めからこう書いてあれば、直ぐわかったのに」という
ことも起こるでしょう。読みやすいコーディングを身につけたときは、
他人の書いた読みやすいコードも楽に読めると思います。
読みにくいコードについては、誰でも苦労するはずですが、
苦労の度合いは小さくなっているのではないでしょうか。

wood 2005/05/06(金) 18:42:46
>コードトレースの基本とはなんでしょうか?
実行結果の予想が出来ることではないでしょうか
材料
・仕様書
・データ
・コード(オブジェクト単位に分割検証したあとで)
 変数サイズの把握や、再帰、言語基礎知識などなど
その他、解析の経験、自分なりの凡例集の書きとめ

ツールを使うなら、得意とするものを精通するまで使ってみてはどうですか
何もVCだから、Visual Studioを使わなければいけないと言うものでは
ないはずです

俺は仕事のメインがCOBOLですが、
WEBあり、サーバー系あり、クライアント系あり
他言語リンクありの作業してますが、どの言語でも統一して、自分で使えるツールの
習得は行ってますよ
トレースする場合のツールとは、PCソフトに限りませんよ、
他人(無関係な人)もツールのひとつです

>コードトレースのスピードを上げるよい方法はないものでしょうか。
他人のふんどしで相撲を取るのもひとつの手ではないでしょうか

古いスレッドには追加発言できません。