Un plugin ESLint qui transforme les expressions booléennes négatives grâce aux lois de De Morgan
(github.com/azat-io)Sortie de De Morgan pour ESLint.
Il s’agit d’un plugin qui transforme les expressions logiques dans le code JavaScript pour les rendre plus simples et plus faciles à comprendre.
De ceci :
!(a && !b && c <= d)
à cela :
!a || b || c > d
2 commentaires
Je pense qu’il vaut mieux écrire les conditions de façon à ce qu’elles soient faciles à lire et à comprendre.
C’est intéressant ! Comment comparez-vous ce qui est préférable entre deux AST ?
Par exemple, si l’on compare
(!a || !b || !c)et!(a && b && c), qui sont équivalents, en termes de profondeur d’AST, le premier est plus avantageux, mais en nombre de feuilles, c’est le second qui l’emporte. Personnellement, j’aurais tendance à vouloir transformer vers la seconde forme, car elle réduit le nombre d’opérations.Ce serait bien d’avoir une option qui change la transformation selon la préférence d’optimisation : profondeur ou nombre de feuilles.