見出し画像

コードリーディングについて自分なりに深掘りする

先日読んだ文章(文献?)がとても勉強になったので、
自分の考えの整理も兼ねて、まとめたいと思います。

以下の文章です。

ソースコードを読むための技術
https://i.loveruby.net/ja/misc/readingcode.html

Qiitaのこちらの記事で取り上げていたので、
気になって読んでみました。

プログラミング学習の1つとして、人の書いた良質なコードを読む、
理解するという手法があることは認識していましたが、
実際に行動には移せていなかったし、
どう始めればいいのだろう状態だった自分にとって
とてもフィットするものだと思いました。

この文章では、「どう読み解いていくのか」「そのコードから何を理解することが必要なのか」が順を追ってまとめてあるので、
是非、自分と同じプログラミング学習中の方には
読んでみてほしいなと思います。

ここからは、実際に読んでみたなかで
印象的だったポイントを書き出すと同時に、感じたことを書きます。


静的な解析を行う

ディレクトリ構造がどうなっているか、関数同士がどのように紐づいて
動作しているか、を見れれば十分かなと思っていましたが、
更に理解を深めるため、関数を自分の好みに置き換えること、それが実際に動作するかを確認すること、という2つのステップを踏むことが
有効だと知ることができました。

もちろん、ディレクトリ名や関数名を1つとっても
製作者の意図があるわけで、その意図をきちんと把握した上で
自分ならどうする、もっと可読性を高めることはできないかと
解釈を入れることで、理解が深まるという点は
非常に共感しました。

開発を進める際に、関数の命名規則や、細かなコードの書き方に、
必ず製作者側で設定してるルールがあるはずなので、
そこまでを自分なりにイメージできると、
より自分ごと化ができるだろうと思いました。


歴史を読む

この文章の中で、得られた大きな気づきがこれでした。
恐らく、何も考えずにコードリーディングを進めていたら
静的な解析で自分の作業は止まっていただろうと思います。

この歴史を読むという点で重要な点は、
何の意図を持って、その変更がなされたかを
ログから読み解くということ。
そこに残っている変更前の状態には、開発を行った上で
改良すべきポイントで、その情報を蓄積することで
近しい状態に陥ったときの引き出しにもなるし、
もともとアップデートされた状態を目指して開発を進めることもできる。

終わりに

コードリーディングには、「見て学ぶ」ことが目的ではなく、
自分なりのアレンジをすることで、理解を深めること。
また、そのコードのログから変更履歴を読み解くことで、
そのコードから学ぶべき情報を得ることができる、ということを理解しました。

これを知った上で、実際に自分でも
コードリーディングを行ってみたいと思います。

この記事が気に入ったらサポートをしてみませんか?