1

これは純粋にデザイン/グッド プラクティスの問題であり、実際のコード例を提供することはできず、疑似コードのみを提供します。

私は独自の JavaScript フレームワークを使用しています。これにより、(TypeScript と同様に) クラスの概念が得られ、「クラス メンバー/フィールド」を動的に作成できます。擬似コードを使用した例:

Class Human {

    firstName;
    secondName;

    HumanConstructor() {

    }

    void method1 {
        this.title = "Mr";     // dynamically created new Class field
    }

    void method2 {
        this.addressedByName = this.title + this.firstName;
    }
}

質問 1: メソッド内に新しい「クラス フィールド」を導入するのは良い/悪い設計ですか? 質問 2: 1 つのメソッド (method2) が他のメソッド (method1) が最初に呼び出されたという事実に依存することは、良い/悪い設計ですか?

上記の 2 つのトピックの長所と短所は何ですか?

4

2 に答える 2

0

主な欠点は、2 番目のメソッドが最初に呼び出されると、タイトルが初期化されていないために NPE が発生することです。私自身の経験では、クラス内でそれを宣言するために使用されるフィールドが存在することがわかっている場合は、コンストラクター内で定義する方がよいでしょう。

于 2013-09-28T12:25:36.920 に答える