- - PR -
Checkstyle [Class Design -> Design For Extension] について
1
投稿者 | 投稿内容 |
---|---|
|
投稿日時: 2007-11-06 22:21
まさです。
Checkstyle の項目 [Class Design -> Design For Extension] は 「メソッド〜は拡張するように設計されていません。」 とのことですが、どのような形にすると「拡張するように設計されたもの」になるのでしょう? そもそも、オーバライドするという行為自体が既に「拡張するように設計されていない」ということ? |
|
投稿日時: 2007-11-07 13:56
> どのような形にすると「拡張するように設計されたもの」になるのでしょう?
これの正反対なら、CheckStyleから「拡張するように設計されていない」と叱られるんでしょう?: The exact rule is that nonprivate, nonstatic methods of classes that can be subclassed must either be * abstract or * final or * have an empty implementation あなたのスーパークラスのメソッドが: ・abstractでない ・finalでない ・空実装でない (キビシイ条件ですね。) [ メッセージ編集済み 編集者: ranco 編集日時 2007-11-07 13:59 ] |
|
投稿日時: 2007-11-07 20:36
どもども。まさです。
abstract はサブクラスに実装を強制するものなので良しとして、 空の実装は「拡張するように設計されたもの」になるんでしょうかネェ。。。 自分的には、final つけたらそれこそ拡張できないじゃんって気がしてしまうんですが。。。(ranco さんに対してじゃなく Checkstyle に対する愚痴ね) 「拡張するように設計されていません」じゃなくって、 「拡張できる状態にすべきではありません」だったら納得いくんですけどね。 そういう意味なのかな? |
1