一般的なデフォルト値に関する質問-デフォルトの戻り関数値、デフォルトのパラメーター値、欠落している場合のデフォルトのロジック、例外を処理するためのデフォルトのロジック、エッジ条件を処理するためのデフォルトのロジックなど
長い間、私はデフォルト値を「純粋な悪」なものだと考えていました。これは「大惨事を覆い隠し」、バグを見つけるのが非常に難しいものです。しかし最近、デフォルト値をある種の技術的負債として考えるようになりました...これはまっすぐに悪いことではありませんが、「短期資金」を提供してプロジェクトを生き残ることができます住宅ローンを出さずに家を買う?)。
私が「短期」と言うとき-私は意味しません-「最初に何かを迅速に行い、後でプロダクションにヒットする前にそれをリファクタリングします」。いいえ-実稼働ソフトウェアのハードコードされたデフォルト値に依存することについて話している。確かに-それはいくつかの問題を引き起こす可能性がありますが、それが一年で単一のトラブルを引き起こすだけならどうでしょう。
繰り返しますが、ここでは「平均的な」メインストリームソフトウェア(原子力発電所のソフトウェアではありません)について話しています。平均的なWebサイトまたは会計ソフトウェアのUIアプリケーションです。 。
繰り返しになりますが、私の経験から、ビジネスユーザーは完璧なソフトウェアを待つのではなく、「何らかの形で機能する」ソフトウェアを使いたいと考えています。また、RADスタイルのソフトウェアを開発する場合、デフォルト値の使用は非常に役立ちます。しかし、再び-私が費やした最長のデバッグセッションは、途中で「デフォルト」でなくなったデフォルト値によって導入されたバグ、または小さなサブシステムが最近アップグレードされたため、このアップグレードの結果ではありませんデフォルトを正しく処理します(たとえば、空のリストとnull、またはnullの文字列と空の文字列)。
だから私の質問は-デフォルト値は良いか悪いかです。そして、それらが技術的負債である場合-返済を支払う余裕があるように、どのくらい借りることができるかをどのように測定しますか?
どんな入力でも本当に感謝します。
乾杯。
編集:
開発中にコーナーをカットする方法としてデフォルト値を使用している場合-コーナーのカットによりバグや問題が発生する場合-これらの問題から回復する方法は何ですか?