きれいなプログラミングコードを書けない時の対処法
プログラミングをしていると数か月前に自分で作成したコードが読めない...ってことよくありますよね。
あるいは、お仕事でプログラマーをされている方はコードレビューでレビュワーから手痛い指摘を受ける方も多いのではないでしょうか。
そして、Googleで「コード きれいに書くコツ」などと調べて、「なるほど、そうするのか」と知識は得ても、一生懸命コードを書いていると気がつけばまた読めないコードに...
これ全部、自分自身のことです…
そんな中で、私が取り組んで少しはマシなコードが書けるようになったことをお伝えできればと思います!
目次
- なぜ知識だけではうまくいかないのか
-
コードへの考え方を少し変えてみる
- まとめ
なぜ知識だけではうまくいかないのか
ここでは
きれいなコード
=可読性の高いコード
=他人が見て処理内容が分かりやすいコード
として、私自身が知識を得てもきれいなコードを書けない理由について考えてみたところ、二つあると思いました。
一つ目はこれらの多くはコードを実際に作成している時のことについて述べられています。
そして、二つ目は調べて得た知識の多くが、気を付けることや注意することだったからです。
例えば、
- 変数名はルールにもとづいて分かりやすくつける
- 適切なコメントを残す
といったことが挙げられます。
いや分かっている、分かっているけど、コードを書いていて気がついたら可読性の低いコードになってしまう...というのが私の思いでした。
じゃあ、どうするか ?
コードへの考え方を少し変えてみる
良いコード、きれいなコードは「可読性の高い」コードと定義されている方が多いので、ここでもそのようにして考えています。
つまり、コードはソフトウェアなどを動かすモノであるとともに、誰かから読まれる「資料」でもあるわけです。
コードを処理内容の説明資料として使えるようにすることが、「きれいなコード」にすることにつながると考えました。
きれいなコードは誰が読んでも分かる可読性の高いコードです。
それを目指す前に
自分の説明付きでなら誰でも理解できるコードを作成しましょう
というスタンスです。
資料(文章)を作成する際に大切なのは、
- 構成を考えてから書き始めること
- 書き終わった後の手直し
だと言われていますし、自分でもそうだと感じてます。
これらを気を付けコードを作成するときに、私がやったことを説明していきます!
コードを書く前
事前の準備として「どんなコードにしようか」と考えるようにしました。例えば、関数やクラスはこんなのが必要そうだな、とかです。
そして、それを手書きで書き起こします。
ポイントは手書きです。
まとめるのは後でいいので、自分の頭に思ったことをどんどん書き出してみてください。
こういった作業は、きれいで整った資料を作成できるパソコンよりも、早く・ダイレクトに表現できる手書きの方がいいと思います!
こうすることで、「こんな機能をもった関数が必要だ」となれば、「こんな機能」を英語にすれば、最低限分かる関数名になると思います。
このやり方の利点は2つです。
- ある程度、整理できた状態でコードを書き始められる
- 書いている途中の確認や書き終わった後のフィードバックに使える
そして、下で紹介しているような記事にあることを気を付けながら、コードを作成します。
ただ、完璧に出来ていなくて大丈夫です!
コードを書いた後
ここで思い出してください。コードは説明資料です。
説明資料を作成したら、一回ぐらいは説明する練習しますよね(自戒)
ということで、上司なり、友人なりに自分の書いたコードを見せながら説明する練習をしてみてください。
聞き手がいるといいですが、いなくても全く構いません。
こういう時に、変数名が直感的で分かりやすいとすごく説明しやすいですし、再びその変数がでてきたときに、「何を表す変数だっけ??」と戻らなくて済みます。
コードに書かれたコメントも多すぎると説明しづらいですし、少なすぎると説明資料としては未完成です。
この練習をしてみて、読みにくいと感じた所は修正していくと、コードがきれいになっていくと思います。
修正する際には、他の方がブログで書かれていることを是非参考にしてください!
まとめ
コーディング前に、構想を紙に書き出す
コーディング中は、できるだけ気を付ける
コーディング後は、コードを使って内容を誰かに説明する練習をする
まとめてみると当たり前のことですが、当たり前が一番大事です。
ぜひ、みなさんもやってみてください!