【プログラミング学習】 ソースコードレビューの時によくする話
こんにちは!CODE CLUB965のKです!
プログラミングの個人指導では、書いてもらったソースコードのレビューをやるのですが、その時によくする話を今回は書きたいと思います。
読みやすいコードを書くことと実装スピードはトレードオフの関係にない
学習を始めたばかりの方のソースコードを見ると、よく変数名を適当に付けていることがあります。
意味を考えずに、「a」とか「x」とかを付けているんですね。
「コードが読みづらくなるので、意味のある変数名を付けましょう」
という話しをするのですが、
「変数名を考えるのに時間がかかってしまって…。
早くコードを書きたいので、とりあえずの変数名で進めました。」
という返事が返って来ることがあります。
他にも、
「インデントが揃っていない」
「冗長なコードが書かれていて、関数化などがされていない」
など、早く実装したいからという理由で汚いコードになってしまっているのを見ることがあります。
読みやすい綺麗なコードを書くことと、実装のスピードはトレードオフの関係にあるのでしょうか?
時間をかければその分、綺麗なコードが書けるし、実装スピードを上げるのであれば、コードの綺麗さは犠牲にしないといけないのでしょうか?
学びはじめは確かにそうかもしれませんが、
ある程度経験を積んだエンジニアニとっては、全くもって、そんなことはありません。
綺麗なコードがかける人は、コードを汚く書くようにしたからといって、実装スピードが上がるわけではないのです。
よく言われることですが、字を書くのと一緒です。
字が綺麗な人は、字が汚い人と比べて書くスピードが遅いわけではないのです。
また、汚く書くようにしたからといって、書くスピードが上がるわけではありません。
プログラミングに関しては、むしろ綺麗なコードを書ける人の方が、実装のスピードも早いです。
「わかりにくいコードを書くけれど、実装が早い」という人をみたことがないですね。
(話しがそれますが、わかりにくいコードを書く人は、品質も悪くて大抵バグが多いです)
「わかりやすい変数名を付ける」
「インデントを揃える」
「共通部分を関数化する」
このあたりは、慣れてくると呼吸をするようにできるようになります。
これらをやることに時間が全く掛からなくなるのです。
最後に
初めは時間がかかってしまいますが、妥協せずに当たり前に綺麗なコードがかけるようになりましょう。
結果として、綺麗なコードが早くかけるようになります。
綺麗なコードを書くことと、実装スピードはトレードオフの関係にないのです!
それでは、また!