プログラムが読めた!
ようやく他人が書いたプログラムが読めました。
散々、自分でプログラムを書いてきたのに、人のプログラムが読めない。。
初めて、他人のプログラムを読んだときは、衝撃でしたし、ショックでした。
でも、その理由に最近気が付きました。
・そのプログラムの意図を理解していない。
先輩に言われて初めて気が付きました。
今まで自分が書いてきたプログラムというのは、そのプログラムの意図はすべて私の頭の中にあったわけです。意図も分からずただただ、ソースを見ていく、関数の中を追っていくでは読めるわけありません。
そこで意図を読み解くコツを見つけることができたので紹介します。
それは、
抽象化
です。抽象化してまずはなんとなく流れを読み解く。そしてその意図をゴールとして、
必要な関数や変数をメモしながら読み進めていく、そう、全ての関数、変数を読む必要はないけど、需要そうなところしっかりとメモして読んでいく。ここが大切。
また、実行順に読んでいくのが大切!
関数の中は見る必要は最初はありません!
関数化している。すなわち、抽象化済みなわけです!全体を見てもどうしても分からない場合は、ようやく関数の中を見るのが順番としては正しいようです。
この抽象化してメモを残しながら読むのに
フローチャートを作図するツールが、
非常に便利でした。なぜって?
以下のようなことができるからです。
・雑に変数や関数名をペタペタ貼ってきます。
・なんとなく並べます。
・その状態からソースを見ながら線を繋いでいきます。
この時メモ書きなので、フローチャートのルールはこうだからなんて考える必要はありません。会議中のホワイトボードのようにラフ書きでいいのです。
後で清書しやすいように便利な機能が備わってるので清書は後回しです。
私はこんな感じにフローチャートを書いてみました。
※関数の中の動きを後から書き出せるように、クラス図の枠組みを使ってます。
※一つのブロックの1行目は抽象化した意味。2行目はそのソースの1行分のコピペにしてます。そうすることでフローチャートをみてそこのソースを見たくなった時すぐ検索ができて便利です。
使ったツールはdraw.ioというフローソフトです。
フローチャートとを書いていく中でもっと効率のいい書き方ないかな?とか、不満が溜まってきたらようやく、フローチャートのルールを確認するのが良いかなーと個人的には思ってます。
私はフローチャートのルールをこのサイトで確認する予定です。笑笑
※UMLとは超簡単に言いますとフローチャートのルールを国際的にまとめたものです。
復習終わり!わかりづらかったらすみません!
0コメント