きれいなプログラミングコードを書けない時の対処法

プログラミングをしていると数か月前に自分で作成したコードが読めない...ってことよくありますよね。

あるいは、お仕事でプログラマーをされている方はコードレビューでレビュワーから手痛い指摘を受ける方も多いのではないでしょうか。

 

そして、Googleで「コード きれいに書くコツ」などと調べて、「なるほど、そうするのか」と知識は得ても、一生懸命コードを書いていると気がつけばまた読めないコードに...

 

 

これ全部、自分自身のことです…

 

 

そんな中で、私が取り組んで少しはマシなコードが書けるようになったことをお伝えできればと思います!

 

目次

  1. なぜ知識だけではうまくいかないのか
  2. コードへの考え方を少し変えてみる

  3. まとめ

 

なぜ知識だけではうまくいかないのか

ここでは

 

きれいなコード

=可読性の高いコード

=他人が見て処理内容が分かりやすいコード

 

として、私自身が知識を得てもきれいなコードを書けない理由について考えてみたところ、二つあると思いました。

 

一つ目はこれらの多くはコードを実際に作成している時のことについて述べられています。

 

そして、二つ目は調べて得た知識の多くが、気を付けることや注意することだったからです。

例えば、

  • 変数名はルールにもとづいて分かりやすくつける
  • 適切なコメントを残す

といったことが挙げられます。

  

いや分かっている、分かっているけど、コードを書いていて気がついたら可読性の低いコードになってしまう...というのが私の思いでした。

 

じゃあ、どうするか ?

 

コードへの考え方を少し変えてみる

 良いコード、きれいなコードは「可読性の高い」コードと定義されている方が多いので、ここでもそのようにして考えています。

つまり、コードはソフトウェアなどを動かすモノであるとともに、誰かから読まれる「資料」でもあるわけです。

 

コードを処理内容の説明資料として使えるようにすることが、「きれいなコード」にすることにつながると考えました。

 

きれいなコードは誰が読んでも分かる可読性の高いコードです。

それを目指す前に

自分の説明付きでなら誰でも理解できるコードを作成しましょう

というスタンスです。

 

資料(文章)を作成する際に大切なのは、

  • 構成を考えてから書き始めること
  • 書き終わった後の手直し

だと言われていますし、自分でもそうだと感じてます。

これらを気を付けコードを作成するときに、私がやったことを説明していきます!

 

コードを書く前

事前の準備として「どんなコードにしようか」と考えるようにしました。例えば、関数やクラスはこんなのが必要そうだな、とかです。

 

そして、それを手書きで書き起こします。

 

ポイントは手書きです。

まとめるのは後でいいので、自分の頭に思ったことをどんどん書き出してみてください。

 

こういった作業は、きれいで整った資料を作成できるパソコンよりも、早く・ダイレクトに表現できる手書きの方がいいと思います!

 

こうすることで、「こんな機能をもった関数が必要だ」となれば、「こんな機能」を英語にすれば、最低限分かる関数名になると思います。

 

このやり方の利点は2つです。

  • ある程度、整理できた状態でコードを書き始められる
  • 書いている途中の確認や書き終わった後のフィードバックに使える

 

そして、下で紹介しているような記事にあることを気を付けながら、コードを作成します。

ただ、完璧に出来ていなくて大丈夫です!

qiita.com

qiita.com

 

コードを書いた後

ここで思い出してください。コードは説明資料です。

 

説明資料を作成したら、一回ぐらいは説明する練習しますよね(自戒)

 

ということで、上司なり、友人なりに自分の書いたコードを見せながら説明する練習をしてみてください。

聞き手がいるといいですが、いなくても全く構いません。

 

こういう時に、変数名が直感的で分かりやすいとすごく説明しやすいですし、再びその変数がでてきたときに、「何を表す変数だっけ??」と戻らなくて済みます。

 

コードに書かれたコメントも多すぎると説明しづらいですし、少なすぎると説明資料としては未完成です。

 

この練習をしてみて、読みにくいと感じた所は修正していくと、コードがきれいになっていくと思います。

修正する際には、他の方がブログで書かれていることを是非参考にしてください!

 

まとめ

コーディング前に、構想を紙に書き出す

コーディング中は、できるだけ気を付ける

コーディング後は、コードを使って内容を誰かに説明する練習をする

 

まとめてみると当たり前のことですが、当たり前が一番大事です。

 

ぜひ、みなさんもやってみてください!