コーディングの練習に最適な方法とは? | Actualize

あなたは、コードを教えてくれる素晴らしいコース、チュートリアル、または本を見つけましたね。 そのリソースはあなたに語りかけ、完璧に理解し、多くを学んでいます。 あなたは、コードを学ぶための旅を成功裏に開始しました。 よかったですね!

次のステップは、当然ながら、学んだことを実践することです。 明白でないとしても、練習は学習プロセスにとって非常に重要です。 これは、すべての科目で当てはまりますが、コーディングにも確実に当てはまります。 バイオリンに触ることなく、誰かが弾くのを見るだけでバイオリンを学ぼうとするのを想像してみてください。 それと同じことがコーディングにも当てはまります。 コンセプトを明確に理解することはできますが、大量の練習をしなければ、決して熟練することはできません。

しかし、どのように練習するのでしょうか?

ベストセラー作家でブロガーのJames Clearは、「意図的な練習」と呼ばれるタイプの練習について幅広く執筆しています。 このトピックに関する彼のブログ記事を読むことを強くお勧めします。

クリアは、「意図的な練習とは、目的を持って体系的に行われる特別なタイプの練習のことである」と書いています。 通常の練習が無頓着な繰り返しを含むかもしれない一方で、意図的な練習は集中した注意を必要とし、パフォーマンスを向上させるという特定の目標を持って行われる」

意図的な練習は次の要素で構成されています。

  • 全体のプロセスを部分に分解する
  • 自分を測定する
  • 各セクションで新しい戦略をテストする
  • 学習を全体のプロセスに組み込む
  • これらのステップが何を意味するか、特にコーディング練習の領域で説明しましょう。 ところで、これらの戦略は、コーディング初心者のためだけのものではありません。

    1. このような戦略は、コーディング初心者のためだけでなく、経験豊富なソフトウェア エンジニアのためにも使用できます。 できるだけ、一日も休まないようにしましょう。 週に一度、長い時間練習するよりも、毎日短い時間練習する方がよいでしょう。 毎日時間を見つけて練習するよりも、毎日のスケジュールに練習時間を組み込むことをお勧めします。

    2. 全体のプロセスを部分に分割する

    コーディングのほとんどの側面は、いくつかの異なる部分で構成されています。 たとえば、Web アプリケーションの構築は、バックエンド プログラミングとフロントエンド プログラミングで構成されます。 バックエンド プログラミングは、サーバーサイド言語の使用、サーバーサイド フレームワーク、およびデータベース設計に分けることができます。 フロントエンドプログラミングは、HTML、CSS、JavaScript、フロントエンドフレームワークの使用に分けられます。 そして、ターミナル、テキストエディタ、バージョン管理などの開発者ツールの使用です。

    可能であれば、各練習セッションをこれらの小さな要素の1つに割り当てると、各特定のスキルを磨くことができます。 そうしないと、一度にすべての可動部品に取り組んでしまい、各サブスキルに本当に熟達することができないかもしれません。 ウェブアプリケーションを次々と作ることはできても、どのスキルも実際には上達していないため、ウェブアプリケーションの質は時間とともに向上しないかもしれません。 (可動部品を統合すること自体はスキルとして身につきますが、それは関係する多くのスキルのうちの1つに過ぎません)。 一方、各サブスキルをレベルアップできれば、磨いたサブスキルを使用して後で構築する Web アプリは著しく向上します。

    3. 自分自身を測定する

    一般に、品質を測定することは困難ですが、コーディングのスキルレベルを定量的に測定する方法があります。 1 つの例は、タスクを達成するのにかかる時間を測定することです。 例えば、JavaScriptで基本的なアルゴリズムを解くのに20分かかるかもしれません。 JavaScriptの基本的なアルゴリズムを練習し続け、より流暢に、より短い時間で解けるようになるかどうかを確認することができます。 一般的に、コーディングタスクが流暢であればあるほど、そのタスクを達成するのにかかる時間は短くなります。

    もう 1 つの要因は、タスク中に遭遇したエラーメッセージの数です。 JavaScript のアルゴリズムを解いているときに、正しく理解する前に 5 つのエラー メッセージを受け取ることになった場合、練習を続け、より少ないエラー メッセージを受け取りながら同様のアルゴリズムを解けるかどうかを確認することができます。 もちろん、エラーメッセージが出ることは悪いことではありませんが、エラーメッセージが少なくなることは、一般に、スキルの流暢さが増している証拠です。

    4. 各セクションで新しい戦略を試す

    計画的練習の大きな側面は、与えられたスキルをただ無心に練習しない、ということです。 その代わり、自分の弱点に注意し、より良くなるために役立つ可能性のある新しいアプローチをテストするのです。 JavaScriptのアルゴリズムに例えると、より早く、より少ないエラーメッセージで問題を解決するために、さまざまなアプローチをテストすることができます。 例えば、「for..inループ」の代わりに「whileループ」を使い続けるとどうなるでしょうか? より早く問題を解くことができるでしょうか。 あるいは、最初の文字を入力する前に、紙にビジュアルを描き出すと、より効率的に問題を解くことができるでしょうか? psuedocodeを書くのは役に立ちますか? しかし、どのようなアプローチが自分にとって有効かを発見することはできます。

    5. 全体的なプロセスに学習を統合する

    各サブスキルを磨きながら、もう一度戻って新しい Web アプリを作成します。 うまくいけば、たとえば JavaScript のスキルが上がったことで、その Web アプリをより簡単に、より効率的に、またはより自信を持って書くことができるようになります。

    結論

    意図的な練習の鍵は、無心に練習して上達することを期待しないことです。 その代わりに、今自分の熟練度を具体的にテストし、意図的に新しいアプローチを試して、具体的で測定可能な改善を確認することができます。

    コメントを残す

    メールアドレスが公開されることはありません。