【プログラミング学習】 ソースコードレビューの時によくする話

こんにちは!CODE CLUB965のKです!

プログラミングの個人指導では、書いてもらったソースコードのレビューをやるのですが、その時によくする話を今回は書きたいと思います。

読みやすいコードを書くことと実装スピードはトレードオフの関係にない

学習を始めたばかりの方のソースコードを見ると、よく変数名を適当に付けていることがあります。

意味を考えずに、「a」とか「x」とかを付けているんですね。

「コードが読みづらくなるので、意味のある変数名を付けましょう」
という話しをするのですが、

「変数名を考えるのに時間がかかってしまって…。
早くコードを書きたいので、とりあえずの変数名で進めました。」

という返事が返って来ることがあります。

他にも、

「インデントが揃っていない」
「冗長なコードが書かれていて、関数化などがされていない」

など、早く実装したいからという理由で汚いコードになってしまっているのを見ることがあります。

読みやすい綺麗なコードを書くことと、実装のスピードはトレードオフの関係にあるのでしょうか?

時間をかければその分、綺麗なコードが書けるし、実装スピードを上げるのであれば、コードの綺麗さは犠牲にしないといけないのでしょうか?

学びはじめは確かにそうかもしれませんが、
ある程度経験を積んだエンジニアニとっては、全くもって、そんなことはありません。

綺麗なコードがかける人は、コードを汚く書くようにしたからといって、実装スピードが上がるわけではないのです。

よく言われることですが、字を書くのと一緒です。
字が綺麗な人は、字が汚い人と比べて書くスピードが遅いわけではないのです。
また、汚く書くようにしたからといって、書くスピードが上がるわけではありません。

プログラミングに関しては、むしろ綺麗なコードを書ける人の方が、実装のスピードも早いです。

「わかりにくいコードを書くけれど、実装が早い」という人をみたことがないですね。
(話しがそれますが、わかりにくいコードを書く人は、品質も悪くて大抵バグが多いです)

「わかりやすい変数名を付ける」
「インデントを揃える」
「共通部分を関数化する」

このあたりは、慣れてくると呼吸をするようにできるようになります。
これらをやることに時間が全く掛からなくなるのです。

最後に

初めは時間がかかってしまいますが、妥協せずに当たり前に綺麗なコードがかけるようになりましょう。
結果として、綺麗なコードが早くかけるようになります。

綺麗なコードを書くことと、実装スピードはトレードオフの関係にないのです!

それでは、また!

Follow me!