ウェブサイト検索

より良いプログラマになる:成長する7つの習慣


あなたは次のレベルに進みたい初心者のプログラマですか?ここに私が採用した最高の習慣のいくつかと、彼らが私をより良いプログラマーだけでなく、より良い専門家にした方法を紹介します。

7。 強力な基盤から始めてください

私が最初にプログラミングを始めたとき、私は基本を急いで、フレームワークや高度なツールのようなよりジューシーなものにまっすぐにジャンプするというtrapに陥りました。すぐにクールなアプリと光沢のあるウェブサイトを構築したかったのです。それで、私はできるだけ退屈なものをスキップしようとしました。

しかし、ある時点で、私は何かに気付きました。コピーをコピーして動作させることができます。しかし、それはすべてスパゲッティのコードであり、一緒にごちゃごちゃになり、最適化せずにかろうじて作業しました。自分で問題を解決することはできませんでした。最終的に、私は何度も何度も基本を再訪することを余儀なくされました。

この基盤を構築する1つの方法は、より大きなプロジェクトに飛び込む前に、簡単な問題で自分自身に挑戦することです。 HackerrankやCSESなどのプラットフォームはこれに最適です。財団を構築するもう1つの重要な部分は、分岐する前に1つのプログラミング言語を深く学習することです。

6。 コードを書くよりも多くの考えをしてください

何かを作成したいときはいつでも、おそらくコードエディターを開いてコードの書き込みを開始します。これを行い、具体的な結果をすばやく確認できるようにします。しかし、私の経験では、これがしばしば乱雑、不完全、時には完全に間違った解決策につながることを見てきました。

私がよく直面した問題は、私が途中でいたとき、私は解決策をコーディングするときにあるケースを考慮していないことに気付きました。私は最初からやり直さなければなりませんでした。コードを書く前に全体的な高レベルのソリューションがあった場合、これは起こりませんでした。

プログラミングは、コードを書くことだけではありません。多くの場合、いくつかの制約の下で、問題に対する解決策を作成することです。複雑な問題と同様に、最良の解決策は、明確で意図的な思考から生まれます。これは、私のお気に入りの本の1つであるプラグマティックプログラマからのものです。

実用的なプログラマーになるために、私たちはあなたがそれをしている間にあなたが何をしているかを考えるようにあなたに挑戦しています...自動操縦で走ることはありません。常に考えて、あなたの作品をリアルタイムで批判してください。

私がより良い問題解決者になったことの1つは、実際のコードを書く前にPseudocodeを書くことです。たとえば、複雑なアルゴリズムを設計するときは、英語の大まかな論理計画をスケッチします。

5。 公式のドキュメントから学びます

私が最初にプログラミングを始めたとき、私はペストのような公式の文書を避けました。それは圧倒的で、専門用語でいっぱいに見え、正直なところ、少し退屈でした。チュートリアルやYouTubeビデオに固執することを好みました。しかし、現実世界のプロジェクトに取り組み始めたとき、チュートリアルが表面を傷つけるだけであることに気付きました。言語、フレームワーク、またはツールを完全に理解したい場合、公式のドキュメントが私の最良のリソースでした。

公式ドキュメントは、学習している言語やツールを作成した人々によって書かれたユーザーマニュアルです。チュートリアルは特定のユースケースに焦点を当てる傾向がありますが、ドキュメントは、存在していない機能など、テクノロジーの完全な機能を示しています。

たとえば、Pythonを最初に学んだとき、私は基本を理解するためにチュートリアルに大きく依存していました。しかし、パンダのようなライブラリを使い始めたとき、私は単なる例以上のものが必要であることに気づきました。パンダのドキュメントは私のライフラインになりました。

4。 クリーンコードを書いてください

プログラミングコミュニティには冗談があります。プログラムが実行されている場合は、触れないでください。しかし、それはただの冗談です。

プログラミングを始めたとき、競争力のあるプログラミングを試みました。私はそれを楽しんでいましたが、そこから多くの悪い習慣を採用しました。ほとんどの場合、プログラムを機能させることが重要な唯一のものでした。コードがエラーなしで実行された場合、変数と魔法の数字の絡み合った混乱であっても、私はそれを成功と考えました。しかし、私がより現実的なプロジェクトに取り組み始めたとき、私は重要なクリーンコードがいかに重要であるかに気付きました。

Clean Codeは、プログラムを読み取り、デバッグ、およびメンテナンスにしやすくします。これに入る多くのベストプラクティス、原則、および慣習があります。たとえば、変数と関数の記述名、優れたドキュメント、一貫したコーディングスタイルなど。醜いコードの例を見てみましょう。

        def pro(s, x):
   i = 0
   for k in range(len(s)):
       i += s[k] * x[k]
   return i
    

それは動作します。しかし、あなたはそれから何かを作ることができますか?おそらくそうではありません。クリーナーバージョンをご覧ください。

        def calculate_dot_product(vector_a, vector_b):
   dot_product = 0
   for index in range(len(vector_a)):
       dot_product += vector_a[index] * vector_b[index]
   return dot_product
    

このバージョンははるかに意味があります。それが、クリーンコードを書くことがあなたのプロジェクトを完全に変換する方法です。

3。 強力なデバッグスキルを開発します

プログラマーとしてどれだけの経験を積んでも、デバッグはプロセスの避けられない部分です。私は、見た目に隠れているように見える卑劣なバグを追跡するために数え切れないほどの時間を費やしました。最初は、デバッグはイライラしました。時間が経つにつれて、私は戦略的にそれにアプローチすることを学びました。

デバッグの最初のステップは、減速して観察することです。私は自分のコードに急いで行き、盲目的に回線を変えて、何かがうまくいくことを望んでいました。それはめったにしませんでした。代わりに、質問をすることから始めます。プログラムは何をすべきですか?それは何をしていますか?行動はどこで分岐しますか?

デバッグを困難にするツールとテクニックがいくつかあります。 print()ステートメントは、多くの場合、防御の最初の行です。もう1つの便利な手法は、ゴム製のダックのデバッグです。ここでは、コードを段階的に説明し、無生物または人に説明します。多くの場合、問題を大声で明確にするだけで、解決策が明らかになります。私はそれらを自分自身に説明するだけでバグを解決しました。

2。 他のプログラマーとのネットワーク

私が最初にプログラミングを始めたとき、私はそれをソロの旅と考えました。プログラミングには孤独な焦点が含まれることがよくありますが、私が成長した瞬間は、他のプログラマーとのつながりから最も成長しました。

多くのプログラミングFacebookグループ、Discordサーバー、およびsubredditsに参加しました(R/LearnProgrammingをチェックしています。)問題に直面している場合は、助けを求めて手を差し伸べることができます。私の自由な時期には、私はコミュニティにも貢献しようとしているので、初心者は私が以前のように助けを得ることができます。

私はかつて、ネットワーキングを通じてプログラミングギグを上陸させました。それは私が取り組んだ最大のプロジェクトの1つであり、その過程で多くのことを学びました。また、ハッカソンに参加することで素晴らしいプログラマーに会い、新しいことや戦略を学びました。

1。 現実の問題を解決するものを構築します

プログラミングの最もやりがいのある側面の1つは、アイデアをライフを楽にするツールに変える能力です。チュートリアルを視聴したり、本を読むこともできますが、実際の問題に取り組むときに得られる学習に匹敵するものはありません。それは、理論、構文、およびアルゴリズムが本当に生き生きとするときです。

実際のプロジェクトをさまざまな方法で見つけることができます。どんな問題に直面していますか?アプリを構築して解決できますか?友達や親relativeに問題について尋ねてください。 GitHubにアクセスして、オープンソースプロジェクトを見つけることもできます。

Spring Bootを使用してJava Backendを学び始めたとき、私は多くのタスクを自動化するために農業システムを作ることにしました。チュートリアルからはないことを学びました。


プログラミングを初めて使用する場合は、トラップに陥って間違いを犯すのは簡単です。大きな習慣を採用し、経験から学ぶことで、有利なスタートを切ることができます。それはあなたをより良いプログラマにするでしょう。