素人のDIY家具とプロが作った家具で仕上がりに差があるように、プログラミングにも上手い、下手があります。
今回は、プログラミングの上手い人と下手な人の違いについて解説します。
上手いプログラミングとは?
ここでは、上手いプログラミングとは、以下の条件を満たしたプログラミングのこととします。
- 無駄がない
- 早い
- きれい
それでは、一つ一つ見ていきましょう!
上手い人のプログラムには無駄がない
上手い人のプログラムには無駄がありません。
例えば、
- 同じ処理や似たような処理が重複しない
- 条件分岐やループが少ない
- 変数のサイズが必要最小限
などなど。とにかくコードに余分なものが一切ありません。
下手な人が100行で書く処理を、上手い人は10行で書いてしまったりします。
これはクラスや関数などをうまく使い、処理をまとめながらプログラミングするからです。
上手い人は、プログラミングが早い
上手い人はプログラミングが早いです。
上述したように、下手な人が100行で書く処理を上手い人は10行で書いてしまったりします。
単純に、100行文字をタイプするより10行文字をタイプする方が時間がかからないのは想像できると思います。
また、一般的に不具合(バグ)の数はコード量に比例します。
コード量が少ないことでバグが減り、あってもコード量が少ないのですぐに直せます。
その結果、上手い人が作ったプログラムはプロジェクトの中でも相対的に早く仕上がることになります。
上手い人のプログラムはきれい
上手い人のプログラムはコードがとてもきれいです。
上述の「無駄がない」点に関連するのですが、余分な処理がなく短いため、コードの見通しが良く全体を把握しやすくなっています。
また上手い人のプログラムには、的確なコメントが入れられています。
これによって、コードの理解がさらに進むようになりメンテナンスしやすいプログラムとなります。
下手な人でもしっかりコメントを入れる方はいますが、コメント自体が意味不明だったり、細かく入れすぎてコードの可読性が悪くなっていたりします。
どうすればプログラミングが上手くなるか?
プログラミングを上達させるには、 無駄のないプログラミングを心がけることが重要です。
無駄なく書けることで、早くキレイなコードが書けるようになります。
その結果、プログラミングが上達していきます。
無駄のないコードを書くためには、プログラミングが上手い人のコードをよく読むことが重要です。
プログラミングが上手い先輩社員や、GitHubにコードをアップしている有名プログラマーの作品などを参考にすると良いと思います。
また、デザインパターンのようなテクニックを学ぶのもおすすめです。
反対に、ネット上に散在するサンプルコードはあまり参考になりません。
ネットのものはプログラムの特定処理(「文字を結合するには?」など)について解説したり紹介したりしているものが多く、全体が分かるものではないからです。
やはり上手い人のプログラム(作品)に触れるのが一番だと個人的には思います。
上手い人のマネをしよう!
漫画家や芸術家は、最初は好きな人の作品を模写するところから始めると言います。
描いてみることで、初めてその人がこだわっている部分や気を使っている部分が分かり、自分のテクニックとして定着していきます。
プログラミングもそれと同じです。
上手い人の書き方をマネすることで、自然とテクニックが上達し、思考がより洗練されたものになっていきます。
プログラミング能力を向上させて、生産性の高いプログラマーを目指しましょう!