Я выполняю рефакторинг большого и старого приложения с множеством неплотных сравнений (X == $var
) и хочу по возможности выполнять строгие сравнения (X === $var
). Чтобы сделать это в безопасное время, я хочу найти все / как можно больше случаев, в которых строгое сравнение может быть безопасно осуществлено без проверки возможных значений и понимания кода.
Примеры:
"foobar" == $var
всегда можно превратить в "foobar" === $var
.
"true" == $var
нельзя безопасно превратить в "true" === $var
, поскольку "true" == true
равно true , но "true" === true
равно false .
В идеале, существует регулярное выражение или библиотека, которая находит все случаи в одном go для всех возможных типов и всех возможных операторов сравнения.
Второй лучший option: Список правил, основанный на правилах, в котором слепой рефакторинг невозможен.
Такой список / регулярное выражение был бы очень полезен для любого, кто делает большой рефакторинг кода. Есть много списков, но я не нашел ни одного, который бы служил именно этой цели.