dポイントプレゼントキャンペーン実施中!

よろしくおねがします。

ソースコード(プログラム)の「コードリーディング力」を上げたいと考えています。
皆さんはどのような努力や工夫をされてコードリーディング力を上げておられるのか
お聞かせいただきたく、質問させていただきます。

もちろん日々コーディングする、他人のソースを読むというのは当然あるのですが、
やはり日々の仕事だけでは漠然と、また自分の作業の範囲内でしかやりません。
しかしソースは他のinterfaceなどを読み込むなど蜘蛛の巣のように張り巡らされています。

このクラスやメソッドはどういう仕組みになっているのか?
何と関連付けられて、どういう工夫をされているのか?
を1秒でも早く読み解ける力をつけたい。(私の現状がそうではないから)と考えています。

この質問自体が漠然としているので答えづらいとは思いますが、何かあれば参考のご意見を
教えていただけると幸いです。


※叱咤激励も嬉しいのですが、具体的なお話をお聞かせいただけると幸いです。
 (ご自身がどう言ったことで苦労されたか?なども)

A 回答 (2件)

プログラマーやSEがコードを読む場合、二つのケースが考えられます。


1.どんな処理を行っているか読み解くため。
2.トラブルシューティングのために解析する。

1の場合は、条件がそろわない限り、原則としてやってはいけません。原則とは、プログラムに関するドキュメント類がそろっているかどうかです。
プログラムコードのみから、そのコードが何をやっているかを把握するのは至難の技です。プログラムを解析するのは、まずそのプログラムが何をやっているかを知ることが肝要です。ドキュメントの存在しないプログラムはメンテナンスを拒否されてもしかたありません。またドキュメントがあっても、
内部処理をごちゃごちゃ書いているだけのものもドキュメンの不備ということで拒絶してください。
必要なドキュメントとは、使用しているファイル仕様、DBをどうしようしているか、GUIがあれば画面仕様などの外部仕様が重要です。
2の場合も、コードリストだけではなく、スタックダンプ、ヒープダンプなどメモリダンプ、障害時のシステムログなどは最低限は必要です、これらのものがそろっているか確認しましょう。また障害を起こした時のオペレーションも把握するのが肝要です、刑事のような尋問術が必要なこともあります。
2の場合は比較的簡単です。それは、プログラムに対する条件が限定されているので、内部のロジックも一本道でたどれること多いからです。
ともかく、目的もなく漫然とコードリストをみるのは避けましょう。
    • good
    • 1
この回答へのお礼

ご助言ありがとうございます。
今の自分にはコードリーディング力が欠けていると認識しているので、
もちろん漠然と漫然とやっていてはダルビッシュ投手が言っていたように
練習にも力にもならないですよね。
会社では自分のための時間は使えないので、GWにGithubやQiitaなどにある
ソースを読んだり、解析したりする時間に使おうかと思っています。

お礼日時:2016/04/23 19:52

「中身を考えない」かなぁ。



a.methodA(x)
ってあったら、 methodA がどんな「機能」なのかだけを見て、その中で何をしているかは別の機会に考える。
    • good
    • 0
この回答へのお礼

お話しいただきありがとうございます^^

お礼日時:2016/04/23 19:53

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!