【IntelliJ IDEA】Boolean method 'xxx' is always inverted

今日初めて見たんですが、IntelliJ IDEAでBoolean method 'xxx' is always invertedというメッセージに出会いました。

こんな感じ。メソッドの中身は超適当です。

f:id:fuji-tak:20210201185516p:plain

メッセージの通りですが、呼び出し元が全部!で結果を反転している時に出てくるみたいですね。

これでInvert methodを選ぶと、変更後のメソッド名を何にするかというダイアログが出てきました。

とりあえずNotを入れた名前にしてみて、refactorを押すと、、

f:id:fuji-tak:20210201185801p:plain

実装の中身が反転して、呼び出し元に付いてた!も全部外れてました。

f:id:fuji-tak:20210201190307p:plain

メソッドの中身が複雑でも自動でリファクタリングしてくれるのかは試せてないですが、さすがIntelliJ IDEA。気が利いてますね。