-
Type: Improvement
-
Resolution: Fixed
-
Priority: Major
-
Affects Version/s: 1.0.0
-
Component/s: ymir-extension
-
None
【概要】
プロパティの名前を変更して、自動生成し直しても、
PageクラスのBaseに古い方の名前のプロパティ定義が残ってしまう。
すると、変わったことによる影響範囲がコンパイルエラーで現れないため、
ジェネレーションギャップのメリットが薄れてしまっている。
実際に古い方の名前のプロパティに対して処理が書かれたままで、
動かすと全く動かないでどこだろうと探してしまうことがあった。
【原因考察】
おそらく「PageクラスのBaseに手動でプロパティを追加できる」
という機能が影響してしまっているのではないかと考える。
手動で追加されたのか古くなって残っているかの区別がYmir側でできないかと。
【解決案】
しかしながら「PageクラスのBaseに手動で何かを追加できる」という
機能に関しては、YMIR-295にも書かれているが、実際の業務では
利用する場面はいまのところ想像できない。
利用しないで特に困らないならそのままでもよいが、
本課題のような不具合が発生してしまっているので対策がある方が良い。
「PageクラスのBaseに手動で何かを追加できる」という機能は、
デフォルトではOFFにしても良いかと考える。
(そうすることで古い名前のプロパティは消える)
SystemNotificationで、クラス毎に「スーパークラス手動追加OK」を
指定できるようにしてもいいかも。(デフォルトはOFFで)