ド・モルガンの法則で否定ブール式を変換する ESLint プラグイン
(github.com/azat-io)ESLint プラグイン「ド・モルガン」を公開。
JavaScript コードの論理式を、よりシンプルで理解しやすい形に変換するプラグインです。
これを:
!(a && !b && c <= d)
こう
!a || b || c > d
ESLint プラグイン「ド・モルガン」を公開。
JavaScript コードの論理式を、よりシンプルで理解しやすい形に変換するプラグインです。
これを:
!(a && !b && c <= d)
こう
!a || b || c > d
2件のコメント
条件式は、読みやすく理解しやすいように書くべきではないかと思います。
いいですね! 2つのASTのうち、どちらが良いかはどのように比較していますか?
たとえば、互いに同値な
(!a || !b || !c)と!(a && b && c)をASTの深さで比較すると前者のほうが有利ですが、leafの数では後者のほうが有利です。私なら、演算が少なくなる後者の方向に変換したい気がします。optimization preference が depth なのか、leaf の数なのかに応じて、変換方法を切り替えるオプションがあると良さそうです。