3カ月前のコードを読み返す
3ヶ月でなくとも自分が以前書いたソースコードを読み返してみましょう。
数行の簡単なコードならいざ知らず、数十、数百行のプログラムともなれば内容を思い出すのに時間がかかるでしょう。
最悪、読んでも何をやっているか理解できません。
人間の記憶力には限界があります。筆者は1ヶ月で忘れます。
過去の自分の書いたものもわからないのであれば、他人が書いたコードはもっとわからないでしょう。
その人がどのように考えたのかを考えるのには骨が折れます。
それでもソースコードを読まなければならない時の為に、できる限り解りやすいソースコードを書くようにしましょう。
このページでは可読性の高いプログラムを書くためのテクニックを公開します。
尚、これらのテクニックは数行、数十行の簡単なプログラムでは殆ど効果はありませんが、いずれ大規模なコードを書くときのために癖をつけておくようにしましょう。
注釈をつける
やはり英数字で書かれているプログラミング言語は読みにくいものです。
日本語で記述できるコメントを活用しましょう。
しかし、何でもかんでも書き込めば良いというものではありません。
文章量が増えれば増えるほど読むのも大変になりますし、文章量と情報量はイコールではありません。見ればわかるような1行や2行の命令に注釈する必要はないでしょう。
尚、本サイトのソースコードはなるべくコメントを省くようにしています。これは読者にプログラム本文を読む力をつけてもらう為です。
自分で写してみて、適宜コメントを入れてみると良いでしょう。
名前のつけかた
コメントを減らすには一目見て意味のわかるように名前をつけることが重要です。
あなたの書いたプログラムを見てください。
変数名にaやbなどという変数はありませんか?その変数にはどんな値が入っていますか?
文法を理解するための簡単なプログラムならばそれでも大した問題はありませんが、ある程度量のあるプログラムではまず何の変数かわかりません。
単純にその変数や関数の意味を持った単語を使うのも良いネーミングとはいえません。
例えば「average」という変数名をつけたとしましょう。一目見れば、平均値を格納する変数だということはわかりますね。
しかし、それは何の平均でしょうか。
関数「get_data()」はどこからデータを入手するのでしょうか。
名前をつける際は出来る限り具体的に、意味を明確に示せるように単語を選びましょう。
ただし、ループ用のカウンタはi、j…を使うなど、多くのプログラマが暗黙の了解的に使用する名前もあります。
関数に分ける
main()関数は出来る限り簡潔に記述しましょう。
呼び出している関数名から概念的な処理の流れが理解できるレベルが理想です。
最初は粗く、階層が深くなるにつれ細かい内容が見られるようになっているとわかりやすいです。
読みやすいコードを書くための本
「リーダブルコード」という書籍にはソースコードをわかりやすく書くためのテクニックが詰まっています。
サンプルコードはJAVAで書かれていますが、図が多く理解しやすいです。