Автоматическое переформатирование унаследованного PHP-кода-спагетти

StackOverflow https://stackoverflow.com/questions/367257

  •  21-08-2019
  •  | 
  •  

Вопрос

Я взялся за смешанный проект PHP4 / PHP5, который передавался от разработчика к разработчику, и с каждым разом ситуация становилась все хуже.Прежде чем я потрачу на это слишком много времени, я хотел бы разработать базовый стандарт, как минимум, с согласованным форматированием.

Кто-нибудь может порекомендовать утилиту (предпочтительно Linux или Mac OS X), которая переформатирует код?

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

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

Это было полезно?

Решение

Вы можете сделать это с помощью Netbeans - сетевые приложения или с Затмение PDT, оба отличные PHP-редакторы.В каждом из них есть опция Форматирования кода, которая переформатирует выбранный файл в соответствии с вашими предпочтениями в стиле кода.Также может быть предусмотрена возможность массового форматирования кода.

Я действительно рекомендую, если вы сделаете это, выполнить форматирование и немедленно вернуть код обратно с большим жирным комментарием "ПЕРЕФОРМАТИРОВАНИЕ!".Попытка смешать другие исправления ошибок с переформатированием приводит к появлению неприятно выглядящих файлов различий, которые приходится расшифровывать в дальнейшем.

Другие советы

Я использую phptidy: http://cmr.cx/phptidy/ https://github.com/cmrcx/phptidy

По дизайну он не такой агрессивный, как perltidy, но все равно очень полезен.Он может быть настроен и будет обрабатывать все php-файлы в вашем проекте в пакетном режиме.

Обновить:для получения более агрессивного инструмента, основанного на стандартах, рассмотрите PHP CS Fixer: https://github.com/FriendsOfPhp/PHP-CS-Fixer

Я использовал http://www.phpformatter.com/, который представляет собой онлайн-инструмент.

Кое-что, что я недавно нашел, что теперь люблю и постоянно использую.В vim:

gg=G

Для этого требуется следующий параметр конфигурации, который вы можете установить в своем ~/.vimrc:

filetype plugin indent on

Оформить покупку Шифровальщик.Я также использовал это сценарий

В своих собственных поисках я нашел статья в Википедии о красивом принте что, я думаю, будет полезно.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top