直近6か月以内に本講座のレビューに関して記載された記事はありません。
皆さんはどのようにすればプログラミングが上達するのか疑問に思ったことはありませんか?
なんとなくプログラムを記述しているだけでもプログラミング力は確かに向上します。ただ、これから紹介する3つのポイントを抑えながらプログラミングを行うとより効率的にプログラミングの上達を行うことが出来ます。
■ プログラミングの上達に欠かせない3つのポイント
- 1. 習うより慣れろ
これは巷(ちまた)でよく言われていることですが、プログラミング学習の初期段階では手を動かしてプログラミングに慣れることが重要になってきます。プログラミングのスキルを向上するためにはインプットと同じくらい、アウトプットが重要になってきます。例えるならば、自転車の乗り方をいくら口頭で説明されたところで、自転車に乗れるようにはなりません。それと同じで、プログラミングが書けるようになるためには、自分で手を動かして書くことが重要です。
- 2. 基礎を理解する
ここで言う基礎というのは、物事の根底にあるもののことです。例えば、React(JavaScriptの高機能なUIライブラリ)を使いこなしたいのであれば、Reactの元になるJavaScriptの挙動について理解することが重要になってきます。Reactを覚えれば、なんとなく動く機能を最短で作ることができるようになりますが、それ以上のレベルに行くためには合わせて基礎を理解している必要があります。
- 3. 他人のコードからノウハウを盗め
プログラミングを上達する過程では自分で試行錯誤しながらエラーを解消したり、より良いプログラムの記述方法を自分で考えることはとても重要です。ただ、過去の人たちが犯した失敗と同じ失敗をわざわざ犯す必要はありません。今日のIT技術の発展に至るまでには世界中の "頭の良い人" 達が何年も技術を磨き、失敗しながら導き出した最適なプログラミングのパターン(デザインパターンやクリーンコード)などが存在します。そうした知識を得ることで、彼らが何年もかけて到達した地点まで最短で行くことが出来ます。
プログラムの記述は一見創造的な行為に見えますが、実際には「過去にインプットした情報」の断片をたぐり寄せて、アウトプットする行為に過ぎません。そのため、他の人が書いた質の良いコードを見ることは、自身のアウトプットを高めるためには重要になってきます。
本コースでは上で挙げた3つ目のポイントであるクリーンコードについて学んでいくことになります。
■ クリーンコードとは?
皆さんは「クリーンコード」という言葉を聞いたことがありますか?
クリーンコードとは端的に言うと「きれいなコード」、または「コードをきれいに書く技術」のことを言います。
では、そもそもきれいなコード、汚いコードとはどのようなコードでしょうか?
■ 汚いコードに見られる特徴
汚いコードには次のような特徴があります。
・変数名があいまい。
・コードが読みづらい。
・規則性がない。
・記述が冗長。
・拡張性がない。
・保守性が低い。
・テストコードが書きづらい。
汚いコードに良くあるケースはコードの記述に一貫性がなく、何回も読み直さないと処理の内容が頭に入って来ないような記述になっているケースです。また、適切に処理が分離されていない状態では、新規機能の追加の際にも既存の機能に修正が必要になってくるケースも多々あります。このような状態のコードはあまり良いコードとは言えません。
■ きれいなコードに見られる特徴
一方で、きれいなコード(クリーンコード)には次のような特徴があります。
・変数が適切な名前になっている。
・楽に読むことができる。
・一貫した規則性がある。
・冗長な記述がない。
・拡張性に優れる。
・既存機能の改修がしやすい。
・テストコードが書きやすい。
処理の内容が追いやすく、コードからその処理の意図が伝わってくるようなコードはきれいなコードと言うことが出来ます。また、適切に処理の分離が行われ、新規機能の追加の際にも既存のコードに改修が発生しないと言った点も考慮して書かれたコードはより良いコードと言うことが出来るでしょう。
■ きれいなコードを書くために
では、きれいなコードを書くためにはどのようにすればよいのでしょうか?
一般的にコードをきれいに書くノウハウは実際の開発の中で失敗しながら少しずつ学んでいくものです。問題にぶち当たったときに次回への改善点としてきれいに書くことの重要性とそのノウハウを学びます。ただ、このような機会がない人は決して少なくないはずです。
幸い、先人たちはこれまでの開発で積み上げてきたノウハウをクリーンコードとして体系化してくれています。そのため、皆さんが長い期間をかけて実際の開発の中で学ぶはずのノウハウをショートカットすることができます。
■ 本コースで学ぶこと
本コースでは「良いコード」「悪いコード」の例を用いながら、クリーンコードの観点から、美しいコード、他の人から読みやすいコード、保守性や拡張性に優れるコードの記述方法について学習をしていきます。
本コースでは「他の人に読みやすいコードを記述しろ!」「保守性を高めろ!」「拡張性に考慮して記述しろ!」といった抽象的な説明は行いません。具体的な例を見ながら、何が良いのか?なぜ悪いのか?について一つずつ細かく確認していきます。
■ コースの対象者
・今後コードを書く上で気を付けるべき点を知っておきたい。
・後で見直して何がどうなっているのか分からない。
・コード量が増えていくとコードの整理できなくなっていく。
・ポートフォリオ用のコードを作成したいが自信がない。
・コードレビューで何度もダメ出しされてへこむ。
・チームメンバーのコードレビューを任されたため指標が欲しい。
このように感じる人は一度本コースを受けてみてください。
これはどんなプログラミング言語やフレームワークを使っていても汎用的に用いることのできる概念です。
本コースではJavaScriptを用いて説明を行うため、一部JavaScriptの言語仕様に依存するところはありますが、Python、Ruby、PHPなどの他のプログラミング言語を使う人にとっても有益な情報を盛り込んでいます。そのため、JavaScript以外のプログラミング言語を学んで居る方にとってもきっと役立つ知識を得ることができます。
また、React、Vue、Firebase、TypeScriptなどをこれから使いたい人にとっては是非一度触れておいていただきたい知識になります。
あなたがもし1年目のプログラマであれば、これから何万、何十万行というコードを書くことになります。
その中で、クリーンコードの概念を知っていると、より適切な記述の指針を得ることができ、より効率的にプログラミングの上達を行うことができます。
プログラミングを上達したいと考えている人は一度クリーンコードに触れてみてください。
あなたがこれまでに意識しなかったコードを読みやすくするテクニックがきっと見つかります。
本コースの特徴を単語単位でまとめました。以下の単語が気になる方は、ぜひ本講座の受講をオススメします。
本講座を受講した皆さんの感想を以下にまとめます。
参考になる受講者の口コミやレビューを以下にまとめます。
・if => case => hashで条件分岐をリファクタリング[2023-04-01に投稿]
・ヘルパーを使ったリファクタリング[2023-03-31に投稿]