コーディングを学ぶ?まず、問題を解決することを学びます。

Unspalshからの画像

これまでに読んだり見たりしたチュートリアルのほとんどは、通常、スプーンフィードという1つのことを行います。

これは新しいことを学ぶのに「OK」ですが、実際のタスクを解決する必要があるときは良くありません。

タスクには通常、問題を克服して目標を達成することが含まれます。この投稿では、すべての初心者ソフトウェアエンジニアにとって最も重要な「ヒント」を公開しています。

TL; DR

まず、問題を解決します。次に、コードを記述します。 —ジョン・ジョンソン

言い換えれば、解決策を段階的に紙の上で解決してください。次に、そのためのコードの記述を開始します。最初にコードとソフトウェアの設計に絡まないでください。

それで、どうなりますか?

多くの場合、初心者や下級ソフトウェアエンジニアが次のように言っているのを聞きます。しかし、ペットプロジェクトで同じようなことをしようとしても、できませんでした。」

これには2つの理由があります。

まず、どこかで思考の流れを失い、連鎖を確立できませんでした。

第二に、あなたはコードに非常に絡み合っていたため、解決しようとしていた主な問題が焦点から外れました。

この問題は、ソフトウェアエンジニアやシニアソフトウェアエンジニアでも発生します。

良いことは、経験があれば、いつ停止するか休憩するかを知っていることです。その後、別の処方箋で問題に戻り、より迅速に解決策を見つけます。

あなたの多くはこれに関連することができます:あなたは何時間も問題を修正するために一生懸命に努力していました。休憩をとるか、または寝て、次のセッションで数分で解決策が見つかりました。

これは魔法ではありません。これは別の視点から問題を見ています。

例で説明しましょう

タスクを実行する必要があります。たとえば、支払いで払い戻しを作成します。

データベーススキーマが与えられます。これはバックエンドタスクであり、払い戻しとそれに関連する支払いを作成できるPOST / refunds APIを作成する必要があります。データベース構造は次のとおりです。

払い戻しには、「破損した商品」や「配達の遅れ」などの理由が常にあります。

チームメンバーの1人とAPIペイロードについて話し合うことができます。以下のJSONペイロードに同意する場合があります。

通常のシナリオ

ほとんどの初心者ソフトウェアエンジニアが行うことは、コードベースがあればスキャンを開始することです。彼らはすぐにいくつかのコードを書き始めます。テストカルチャがある場合は、自動化されたテストコードを作成する可能性があります。

これは、ほとんどの初心者および一部の経験豊富なソフトウェアエンジニアでさえ滑る場所です。問題を解決していないときはコードを書かないでください。

適切なステップ

最も適切なステップは、座って、紙の問題を段階的に解決することです。

だから、あなたは何をする必要があるのか​​自問してください。計画を段階的に考え出し、それを微調整します。

チームに上級者がいる場合は、手順を検証してフィードバックを得ることができます。

これにより、コードのレビュー時間も短縮されます。二人とも、ソリューションのモダリティについてはすでに同意しています。

だからそれを行う方法

前述のタスクは、支払いを伴う払い戻しを作成できるcreate / POST APIを作成することです。

払い戻しごとに最大2回の支払いが可能です。 1つは「現金」タイプで、もう1つは「クレジット」タイプです。また、現金またはクレジットのいずれか1回の支払いのみで、1回の払い戻しが可能です。これは、次の手順を紙に書く方法です。

  1. ユーザーが送信したコントローラーからデータを取得するメソッドを作成します
  2. 値、払い戻しタイプ、および理由のすべての入力を検証します。
  3. すべての検証に合格した場合、返金テーブルに存在しない長さ10のランダムな英数字を生成します(再帰チェック)
  4. 検証が適切な検証失敗メッセージで応答しない場合、応答構造を決定します
  5. データベーストランザクションを開始する
  6. 払い戻し関連の値として、refund_nr、reason_reason、is_premium_customerを払い戻しテーブルに挿入します
  7. 挿入が成功すると、最後の挿入のIDを取得します
  8. 払い戻しIDを使用して、fk_refund、fk_item、amount、is_cashの支払い関連の値を支払いテーブルに挿入します
  9. すべてがうまくいった場合、データベーストランザクションをコミットします
  10. 問題があった場合は、データベーストランザクションをロールバックします
  11. 適切な構造でデータベーストランザクションの成功に応じて成功または失敗のメッセージで応答する
  12. コントローラーとこのメソッドを接続します

手順に従って計画を立て、コードを記述します

ステップごとの計画を立てたら、コードの記述を開始できます。次に、メソッド名、データベース接続の取得方法、その他の詳細をさらに詳しく調べることができます。

言語とフレームワークに応じて、検証コードをどこに残すかを決定することもできます。

会社や文化がそれをサポートし、奨励していれば、テストを書くことさえできます。

解決策が頭に浮かび上がり、段階的なアクションプランが紙にある場合、コードを記述できます。

仕上げや配線が簡単になるように部品を分割することもできます。

たとえば、テストロジックは、個別に記述して独自にテストできるものにすることができます。ソリューションを形成するために一緒に配線できる独立した部品について考えています。

結論

次のタスクに直面したとき、始めからコードを書き始めないでください。

最初に問題を把握してから、ステップを使用して解決策を考案します。これは、紙の画面から離れて行うのが最適です。

次に、ソリューションを改善し、誰かと話し合います。満足したら、そのソリューションをコードに翻訳します。これは少し系統的ですが、非常に効果的です。

コードは常にソリューションの媒体であり、ソリューション自体ではありません。

ここまで来たら、「拍手」を残してください:)。

読んでくれてありがとう!

geshan.com.npで最初に公開されました。