若い開発者として、私は高品質のアプリケーションを開発するために考えるべきことに関するいくつかのアドバイスを得ることが有用だと思います。私の大学のコースでは、ほとんどの教師が入力の検証を強調し、一部の人はセキュリティの問題について話しましたが、たとえばロギングなどの他の特定のものの重要性をカバーした人はいませんでした。
経験の浅い開発者が経験する開発者のフラストレーションにつながる可能性のあるミスは何ですか?
若い開発者として、私は高品質のアプリケーションを開発するために考えるべきことに関するいくつかのアドバイスを得ることが有用だと思います。私の大学のコースでは、ほとんどの教師が入力の検証を強調し、一部の人はセキュリティの問題について話しましたが、たとえばロギングなどの他の特定のものの重要性をカバーした人はいませんでした。
経験の浅い開発者が経験する開発者のフラストレーションにつながる可能性のあるミスは何ですか?
回答:
新しい開発者が忘れている主なことは、現実の世界ではチームの一員として働いていることが多いということです。これは..として表示されます
それは、彼らのコードが単独でスクラッチになっていないということではありませんが、彼らはもはや単独で動作していません。
Windowsでは、これらの税金は次のとおりです。
ほとんどすべてのプラットフォームで、次のことに対処する必要があります。
私の経験では、ほとんどすべての経験の浅い開発者が心に留めていないことの1つは、あなたが(ほとんど常に)商用環境で働いているということです。あなたのコードは良いものでなければなりませんが、完璧ではありません。最も重要なことは完璧ではなく、コードが出荷されるということです。
別の言い方をすれば、会社が破綻してから3か月後に完璧なコードを提供することは誰にとっても良くありません。
私の意見では、これは現実の世界での開発が大学で教えられている開発とは異なる最も重要な方法の1つです。
本当に幅広い質問。詳細に答えることは...複数の本です。
始めるための一般的なシステム定義チェックリストを次に示します-
おそらくデザインだと思います。つまり、実行する前に何をしようとしているかを考えるアプローチです。
あまりにも多くの経験の浅いコーダー(最初に始めたときを思い出してください)は、飛び込んで何かを始めてから、もう少し追加して、もう少し広告を追加して、さらに追加したいと思います。この方法は、そのように計画している場合は機能します(結局、各ビットをテストすることができます)が、ほとんどの経験のないコーダーは、書いている部分のみに焦点を合わせます。したがって、すべての追加はハッキングされる傾向があります上に。そして、私たちは皆、そのように進化したコードを見てきました!
組織は次のものです。多くの場合、彼らは自分が書いたコードに集中しすぎて、どのようにそれを実行し、何が必要かを覚えていません。そのため、必要な依存関係をバンドルまたは文書化することを忘れています。彼らはまた、物事を置く場所に置く傾向があります。先週、3人のWSDLを含むルートディレクトリのコードをチェックインした後輩を批判しなければなりませんでした.2つは同じファイルで、彼がコミットしたサードパーティのDLLのセットサブディレクトリとルートディレクトリ。コードはあなたが考えうる標準にフォーマットされていませんでした。また、存在したが呼び出されなかった関数がいくつかありました。
明らかに彼はそれを機能させましたが、それはきちんとはしていなかったので、インストールとメンテナンスが面倒だったでしょう。
私の最大のものは、柔軟性を計画することを忘れないことです。クラスでは、要件はほとんど常に最初に記載され、変更されることはありません。ソフトウェアでは、多くの場合それとは逆になります。あいまいな要件があり、頻繁に(毎日でも)変更されます。これを支援するためにできる最善のことは、柔軟にコーディングすることです:疎結合、複数の状況で確実に使用できる小さな関数、ハードコーディングを可能な限り回避します。
やがて、a)変化する可能性が最も高いものと、逆に変化しない可能性があるものと、b)変更要求を予測し、それらを計画する方法を学習する可能性があります。