翻訳者から: George Alan Hamelは彼の記事で彼自身の経験を共有し、開発者がデバッグプロセスで何をガイドすべきかについて語っています。
開発者の最新のツールは非常に広範囲であるため、選択できるものはたくさんあります-デバッグツール。 それらの多くは自動化されていますが、残念ながら、重力によってデバッグを開始することはできません-まだ多くの手作業があります。 問題が単にあるべきではなく、不可能であるように思われ、すべてが機能するはずです。 しかし、動作しません。 余分な神経細胞と時間を無駄にしないために、私は自分で使用する単純なデバッグ規則を考え出しました。 誰かが物議をかもしていると思うかもしれません。 それにもかかわらず、彼らは私を助けます。
Skillboxは 「Mobile Developer PRO」を 推奨しています 。
「Habr」の読者には、「Habr」プロモーションコードを使用してSkillboxコースに登録すると10,000ルーブルの割引があります。
ルール1.常に理由があります
「それは不可能です」、「そのように機能するべきではありません」、「このコードが機能しない理由はありません。」
コードが正しく動作していないか、コンパイルエラーであるかにかかわらず、常に理由があります。 常に。 たとえチェッカーがすべてがうまくいっていると言っても。 コードを深く掘り下げて、全体像を失うこともあります。 ほとんどの通常のアプリケーションまたはWebアプリケーションは複雑です。 すべてに多くの要素が含まれています。 時には多すぎるため、そのうちの1つを間違えて、忘れたり気付かないことがあります。
立ち上がって、深呼吸してください。 次に、コードをもう一度見てください。 ツールだけに頼らないでください。 脳とロジックを使用します。 現在作業中のアイテムが他のすべてにどのように影響するかを考えてください。 ほとんどの場合、エラーはPMSISクラスに属します(問題は議長とテーブルの間にあります)。
そして、天国のために、何かを修正する場合、潜在的な10個のエラーをすぐに修正しないでください。 そうしないと、混乱してしまい、本当の間違いを見つけるのが非常に難しくなります。 デバッグには、少しの忍耐が必要な場合があります。段階的に小さな変更を加えます。 散弾銃のようではなく、メスのように系統的かつ正確であること。
ルール2. RTFMおよびWTFV
ほとんどの開発者は賢い人です。 時には賢すぎて、自分自身を損なうこともあります。 あなたはすぐに高度なことを勉強できるので、基本的なチュートリアルは必要ないと思います。
はい、もちろん、場合によっては問題はありません。さらに、さまざまなプロジェクトを実装する際に学習します。 しかし、大規模で複雑なプロジェクトに数週間従事する場合、状況が発生する可能性があります。その後、すべてが間違った前提に基づいていることがわかります。これは、さらなる作業を不可能にするエラーです。 これは、フレームワーク、言語、ツールに適用される場合があります。 時間を失うだけです。
したがって、英語では「F *** ingマニュアルを読む」または「F *** ingビデオを見る」というように聞こえるルールを学習してください(サブタイトルの略語)。
時々、仕事に必要な重要な瞬間、些細なことを見逃すだけです。 使用している製品に関する基本情報を少なくとも簡単に理解する必要があります。 私の実践では、言語やツールの知識のギャップが原因で開発者が期限を破ったことが多くありました。 そして、これらは優れた専門家でした。彼らは単に本の最後に飛びつき、最初に著者の重要な言葉を逃しました。
新しいフレームワークはほぼ毎日登場し、言語やその新しいバージョンもviましい規則性でリリースされています。 このようなツールを効果的に使用するには、それらの機能を理解する必要があります。
ルール3。ルール1および2を使用してください。
だから、あなたは記事を読んで働き始めた。 数時間後、あなたは私たちの仕事にとって重要なマニュアルに出会い、...スキップします。 いいえ、機能しません。上記のルールを使用してください。 誰も簡単だとは言いませんでした。
ルール4.変更を学習します。
その過程で、使用するツールが変わることがあります。 あなたがWeb開発者である場合、このステートメントは特に当てはまります。JavaScriptフレームワーク、ライブラリ、およびツールは頻繁に変更および更新されます。
幸いなことに、あなただけでなく、他の多くの開発者も同じツールを使用しています。 彼らは、Experts ExchangeやStackOpenなどの適切なリソースや専門フォーラムで、問題や開発に関する情報を共有しています。
問題が見つかるまで、問題またはツールの変更に関する情報を探します。 何もない場合は、ルール1を再読み込みします。
ルール5.休息し、最初から始めます。
場合によっては、実際に木の後ろに森が見えないことがあります。 長時間コードに飛び込むと、精神的にも肉体的にも消耗します。 すでにコードを3回実行しても、まだエラーの原因が見つからない場合は、頭を休ませます。
場合によっては、新鮮な空気の中を簡単に歩けば、新しい考えにつながり、すぐに問題を見つけることができます。 時にはそうではありませんが、面倒、攻撃、または絶望は私たちのビジネスの最高のヘルパーではありません。
ただ画面を見ないでください。 ノイズはネガティブに作用するため、同僚と話をして、静かに座ってください。 結局、おやつを食べてください。 時間が許せば、ただ眠り、音と深い眠りを忘れてください。 時々、睡眠後に私を苦しめる質問に対する答えを見つけることができました。
すべての見掛け倒しや間違いを見つけて、予期せぬ角度から問題を見ようとする以前の試みのごみを頭から取り除きます。
それでは...はい、あなたはそれを正しく推測しました。 ルール1に戻ります。
Skillboxの推奨事項:
- 実践講座「職業ウェブ開発者」 。
- オンラインコース「Profession Frontend-developer」 。
- 実践的な年間コース「PHP開発者からゼロまで」