CodeGym /Java Blog /ランダム /コーディング: 理論から実践への移行、またはコーダーズブロックへの対処方法
John Squirrels
レベル 41
San Francisco

コーディング: 理論から実践への移行、またはコーダーズブロックへの対処方法

ランダム グループに公開済み
さまざまな人々がさまざまな理由で CodeGym を使用しています。多くの人が Java でのコーディング方法を学習する主な情報源として私たちのプラットフォームを選択しますが、CodeGym は大学でプログラミングを勉強している学生、さらには実践的な Java コーディングを練習したい教師やプロのコーダーによっても使用されています。すでにコーディングの方法を知っている多くの人が CodeGym を使い続ける傾向がある理由は、コーディングでは学習プロセスが決して止まらず、また停止すべきではないからです。しかし、時々そうなります。 コーディング: 理論から実践へ、またはコーダーズブロックに対処する方法 - 1

コーダーズブロック

プログラミングには多くのことが含まれているため、この旅の途中でさまざまな問題やボトルネックに直面することは間違いありません。このプロセスをまだ始めたばかりのときに多くの人が最初に直面するボトルネックの 1 つは、基本的なコーディングの概念とその作成方法をすべて学んだ後、実際にコードを書き始めるのに苦労することです。広義には、一般的に Coder's Block として知られています。あるコーディング初心者がこの問題について Reddit で次のように説明しています 。「数か月前、私は Udemy の Node.js コースに登録しました。そこでは、インストラクターが Node.js の基礎をカバーしながら、いくつかのプロジェクトの作成手順を説明します。このコースでは、課題を解決し、複雑なプロジェクトを構築しながら進めていくことが重要です。これまでのところ、コンテンツを見ながら演習を行いながらプロジェクトを構築することができました。しかし、自分で何かを構築することになると、まったく理解できません。Node.js の理論的な概念、仕組み、サーバーのセットアップ方法は理解していますが、自分で何かをしようとすると、頭が真っ白になってしまいます。」これは、特にこのトランザクション (理論の学習から独自のコードの作成まで) を簡単かつスムーズに進めるための適切なアプローチを備えていないコースや学習プログラムの学生にとって、非常に典型的な問題です。CodeGym は、実践第一のアプローチとバランスのとれた構造のおかげで、実際にこの問題を解消します。しかし、Java を学習するために別のプラットフォームを選択した場合、またはいずれにせよコードを書き始めるときに困難を経験したとします。このボトルネックを完全に克服する方法について、いくつかの提案を示します。

1. コーディング タスクを解決してみます。

最も単純なものから始めると、最終結果にあまりプレッシャーをかけずに、簡単で楽しい方法でコードを入力することに脳が慣れる機会が得られます。このアドバイスを最初に置く必要があったのは、ご存知のとおり、CodeGym が Java コーディング タスクの王様であるためです。私たちには 1,200 を超えるタスクがあり、これが実際にコーディング方法を知っている多くの人が今でも私たちのプラットフォームを使用している理由の 1 つです。

2. 他の人のコードを読んでリバースエンジニアリングしてみます。

コードを書くのが難しい場合のもう 1 つの良いアドバイスは、誰かが書いたコードを読み、各行の目的を理解して構造を把握し、同じものを自分で書くことから始めることです。こうすることで、コードを使った実際の作業とコードの記述方法に慣れ始めることができます。GitHub は、最終的にプログラムしたいものに最も近いプロジェクトやコードを見つけるのに最適な場所です。コードを読むことに慣れたら、そこにあるオープン ソース プロジェクトの 1 つ に貢献して、実際のコーディング経験を積み、プロジェクトを履歴書/ポートフォリオに追加してみてください。
数十年の経験を持つプログラマー兼ソフトウェア アーキテクトのジェフ スタンデンからのアドバイスは次のとおりです。「プログラムで解決できる、気になる小さな問題を常に見つけて、練習、練習、練習してください 。それらの問題に対する解決策が自分にとって価値を生み出すのであれば、粘り強く取り組む可能性が高くなります。具体的な目標がある場合は、いつ達成したかが正確にわかり、途中でどの部分が欠けているかがわかります。元のプロジェクトには含まれていなかった、将来的には永遠に役立つ、何千もの便利で興味深いことを偶然に学ぶことになります。現在使用しているソフトウェアがどのように構築されているかに興味を持ってください。Gmail がメッセージをどのようにスパムとして識別するか疑問に思ったことはありますか?」

3. 他の人のコードを手伝ってみてください。

他の人に教えることで何かを学ぶという原則は、コーディングにも当てはまります。自分でコードを書くのが難しい場合は、他の人が同じ作業をできるように手伝ってみてください。たとえば、Stack Overflow、Hacker News、Reddit、Quora などのプログラミング フォーラムやオンライン コミュニティでヘルプを探している人を支援できます。CodeGym では、まさにこれらの理由から、別個のヘルプ セクション を用意しています。サポートを求めている人はそれを求めることができ、一方、教育による学習効果を利用したいと考えている人は自由に貢献することができます。
「コーディングは筋肉のようなものであり、訓練する必要があります。コーディングを一時的にやめたとしても、軌道に戻るまでには時間がかかります。コーディングを続けてください。ツールを作成し、デモを作成し、新しいライブラリを試してください。コードを読み取ります。戻って自分のコードを読んだり、他の人のコードを読んだりしてください。古いコードがどれほど異なっていたか、そしてどれほど改善できるかに驚くでしょう。他の人のコードを読みますが、すべてのコードまたは大量のコードが適切なコーディング方法であるとは考えないでください。自分の作品から他のコード リポジトリにアクセスできる場合は、ぜひ読んでください。多くの洞察が得られるでしょう」とシリコン バレーのソフトウェア エンジニア、Ivan Marcin 氏は勧めます。

4. 自分でコーディングするというアイデアに夢中になってみてください。

コードの作成方法を知っていれば、個人のニーズに応え、アイデアに基づいて独自のソフトウェア製品を作成できます。これがプログラミングの素晴らしいところです。このアイデアを試してみて、どれだけ早く頭がそれに参加し、十分に長く練習すれば構築できるものすべてを想像してみてください。小さなことで重要ではないように聞こえるかもしれませんが、実際には、適切な精神的設定を持つことが重要な成功要因となることがよくあります。したがって、練習することも忘れずに、独自のコードをコーディングするという考えに立ち返り続ければ、それがどこにつながるかがわかります。
「パターン認識ベースの問題を解決すると、ロジックの視覚化が向上します。これは、計算思考 の基本的なステップの 1 つです。ある程度の練習を積むと、頭がミニデバッガーのように機能し、データの流れや、コードの実行のさまざまな時点でさまざまな変数がどのように値を取得するかを視覚化できるようになります。面接などで質問された場合、推測するのではなく、一度のチャンスでロジックを正しく理解できるはずです」と開発者でプログラミング教師のモハマド・ヤクブ氏は述べています。

5. 間違いを犯したり、機能しないコードを書いたりすることを心配する必要はありません。

文章を書く、外国語を話す、楽器を演奏するなど、慣れないことを始めようとするときに閉塞感を感じるのは典型的なことであり、コーディングでもそれと何ら変わりません。当然のことながら、コードが正しく動作しなくなる無数の間違いが含まれており、コードが間違っているのではないかと心配することになります。そうすべきですが、やりすぎは禁物です。自分にプレッシャーをかけすぎて、それがコーディングの妨げになっている場合は、リラックスして結果ではなくプロセスに集中してください。これも単純なことですが、ブロックを乗り越えるのに役立ちます。

まとめ

私たち CodeGym は、コーダーのブロックがどれほど煩わしいものであるかを身を持って知っています。そして、私たちのコースは、可能な限りそれを回避する方法で構築されています。実を言うと、Coder's Block は、キャリアの最初だけでなく、おそらくコーディングのキャリア全体にわたって (もしあれば) 悩まされることになるでしょう。作家、ミュージシャン、創造性や精神的努力を必要とする他の職業の人々と同じように、プロのプロのプログラマーも非生産的で意味のあるものを生み出すことができないと感じます。したがって、それに対処する方法を早く学べば学ぶほど、長期的にはより有益になります。幸運を祈ります。そしてその力があなたとともにありますように。
コメント
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION