Regex для поиска свободных PHP сравнений, которые всегда безопасно превратить в строгие сравнения - PullRequest
0 голосов
/ 12 апреля 2020

Я выполняю рефакторинг большого и старого приложения с множеством неплотных сравнений (X == $var) и хочу по возможности выполнять строгие сравнения (X === $var). Чтобы сделать это в безопасное время, я хочу найти все / как можно больше случаев, в которых строгое сравнение может быть безопасно осуществлено без проверки возможных значений и понимания кода.

Примеры:

"foobar" == $var всегда можно превратить в "foobar" === $var.

"true" == $var нельзя безопасно превратить в "true" === $var, поскольку "true" == true равно true , но "true" === true равно false .

В идеале, существует регулярное выражение или библиотека, которая находит все случаи в одном go для всех возможных типов и всех возможных операторов сравнения.

Второй лучший option: Список правил, основанный на правилах, в котором слепой рефакторинг невозможен.

Такой список / регулярное выражение был бы очень полезен для любого, кто делает большой рефакторинг кода. Есть много списков, но я не нашел ни одного, который бы служил именно этой цели.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...