MJDeveloping:
あまり離れて与えることなく、私は9つの属性を持つオブジェクトを作ってるんです。のは、例えばRPGを使用してみましょう。
float strength, constitution, fortitude, dexterity, intelligence, charisma, wisdom, willpower, perception;
コンストラクタの、対象がプレイヤーと呼ばれていることを考えると
public Player(float strength, float constitution, float fortitude, float dexterity,
float intelligence, float charisma, float wisdom, float willpower, float perception){}
SonarLintによると:「コンストラクタ許可7よりも大きい9つのパラメータを持っています。」
私はSonarLintは、それがこのような状況に対処するための「正しい」方法がある場合、コードは実際には、機能を停止しませんと言っていることを知っていますが、私が知ってみたいです!
感謝
これは、このような質問に対して間違ったフォーラムがある場合Psが、右のいずれかに向けて私をポイントしてください!
トムホーティン - tackline:
理想的には、より小さな単位とコンにクラスを分けます。
彼らは事の同じ種類のすべてのように見えるように、この場合には、Map
(特にEnumMap
)適切であるように思われます。
最後の手段として、Builderパターンがあります。
Player player = Player.builder()
.strength( )
.constitution( )
// ...
.perception( );