私は現在、中間コーダーステージを突破して高度なものにしようとしていることは言うまでもありません。
私はサンプルコードを使っていくつかの本を読んでいます。私は最近、サンプルコードを取得し、それを自分の同様のプロジェクトに合うように変更し、それを壊し、修正する方が、サンプル作業の行を次々に再コーディングするよりも学習に効果的であると感じました。
他に似た意見や対照的な意見はありますか?この方法は長期的に見返りがありますか?
この学習方法についての考えは?
ありがとう!
適切なプロジェクトが必要だと思います。解決する問題を見つけて解決します。
(例をハッキングするのではなく)実際のことを行うと、あらゆる種類のレッスンが頭にドリルダウンします。
実際のプロジェクトで最大の難しさは、コードを書くことではなく、どのコードを書くべきかを知ることです。つまり、問題空間をどのように分割して構造化するかです。それを間違えても、世界で最も優れたコードは依然としてお粗末な解決策です。
他の人々のコードを常に読むことは、プロジェクトのスキルを向上させる確実な方法です。間違いなし。
また、チーム内で最も愚かな人になることも役立ちます。つまり、チーム内の他のすべてのプログラマーがプログラミングスキルの点であなたよりもはるかに優れている場合、あなたが持っている限り、自動的にあなたのレベルも上がります。あなたの限界を受け入れ、助けを求める成熟度。したがって、他のチームメイトのスキルを活用することも重要です。
コードを読む-他の人のコードを読んで彼らのアプローチを説明するように頼むこととは別に、ペアプログラミングは別の良いツールです。仲間と一緒に座って、問題への取り組み方を観察するだけで、あなたの中に電球を発することができます。また、自分のコードを常に確認することを習慣にしてください-時々古いコード。 2か月前に自分で書いた100行以上のコードにアクセスしたとき、それはたわごとだと思ってリファクタリングしたことを何度も思い出します。
学習の最も重要な側面は失敗だと思います。サンプルコードを適応させたり、何か新しいものを実装しようとしても機能しない場合は、理由機能しないことを理解する必要があります。
これは、あなたが遭遇した問題を解決するためにあなたの脳が働かされるときです。そして、ついにそれができたとき'aha!'瞬間、最初の失敗から学んだことはあなたの心に残ります。
より良いプログラマーになるために不可欠なのはこのプロセスです。優れたプログラマーは、システムがどのように機能するのか、なぜシステムがすべきことを行わないのか、そしてシステムを修正する方法を理解するのが得意です。そして、これを上手に行う唯一の方法は、何かがうまくいかないときに問題を解決する練習をすることです。
あなたが本からコードをコピーするだけでそれを実行する場合、それは常に機能し(自分自身または本によるタイプミスがないと仮定)、自分で何かを理解するという重要な経験を見逃します。
どちらも便利だと思いますが、自分でコーディングする方が良いでしょう。他のコードが役立つと、あなたは考えられなかったいくつかのことを学ぶことができますが、その移行では、それが重要だと考える方法です。
あなたはいくつかの問題を取り、それらを解決する方が良いでしょう。回避できない問題がある場合は、他の人のヘルプを使用してください。そうすれば、他の人のコードをいじるよりも多くのことを学ぶことができます。
すべてを最初から実行すると、コードの細かいことすべてを理解できます。また、あなたはあなたの過ちからも学びます(誰もが間違いを犯します、そしてあなたもそうします)。
コードを入力するとき、それは通常、何を入力するかではなく、何を入力するかを考える方法です。問題の論理分析(およびソリューションの推論/導出)が重要です。
プログラミング作業の絶対的な大部分はチームで行われ、すでにしばらくの間存在し、新しい要件や機能に合わせて継続的に調整する必要があるコードベースが含まれます。あなたは教科書からそれを学ぶことは決してないでしょう、あなたはそれを試さなければなりません。
他の人のコードを操作することも、さまざまなイディオムが実際にどのように機能するかを体験するための優れた方法です。通常、問題をすべての可能な方法で解決して、どれがより適切に機能するかを確認しようとはしません。また、とにかく、それほど多くの方法を思い付くことはありません。既存のコードを読むことで、問題を解決するためのさまざまなアプローチを確認し、実際にどのような利点があるかを学ぶことができるため、自分で何かを設計する必要があるときに簡単に選択できます。
最近、世の中にはオープンソースのプロジェクトがたくさんあるので、興味のあるものを選んで貢献するのは簡単なはずです。バグを修正するか、思いついた小さな機能を実行することから始めることができます。これは現在、実際のプログラミング作業を体験する最も簡単な方法です。 Googleから許可を得る もできます。