Совет № 0) Действительно ли существующий код действительно действительно плохой, или он просто не соответствует вашим личным предпочтениям? Если это первое, продолжайте читать этот список. Если это последнее, сделайте несколько глубоких вдохов и потратьте, по крайней мере, месяц или два, чтобы узнать вещи, прежде чем решить, что вам нужно сделать это заново.
Совет № 1) Если вы кодируете, если вы видите что-то не то, исправьте это. Это займет больше времени, но в конечном итоге даст вам прирост производительности, поскольку система станет более «фиксированной». Если у вас действительно нет времени, чтобы исправить это, сделайте себе одолжение и добавьте комментарий, например: получить список вещей, которые вам нужно сделать. Вы также можете дать им уровни, такие как «TODO-High», «TODO-Medium», «TODO-Low». Если вы используете Eclipse или Zend Studio for Eclipse в качестве редактора / IDE, вы можете настроить его на автоматический поиск и пометить их для вас, в Предпочтения-> Задачи.
Совет № 2) Если вы надеетесь (в конечном итоге) перейти на MVC, важно отделить HTML от логики. Это означает использование шаблонов. Эта задача может занять много времени, но как только она будет выполнена, весь ваш переход станет намного проще.
Совет № 3) Попробуйте установить соглашения.
Пример: имена контроллеров и представлений должны соответствовать URL-адресу и находиться в каталогах, соответствующих URL-адресу.
URL для редактирования Место 1234: / place / edit / 1234
Файл контроллера: /htdocs/sitename/controllers/placesController.php
Файл шаблона: /htdocs/sitename/views/places/edit.tpl
Совет № 4) Прочтите руководства по началу работы с основными фреймворками: Zend, CakePHP, CodeIgniter / Kohana, Symfony. Посмотрите, выглядит ли один лучше другого. Спросите себя, почему вам это нравится. Будет ли это работать для вас, или вам нужно свернуть свои собственные рамки (сомнительно). Если это вообще возможно, используйте существующие рамки. Это уже проверено на ошибки сотнями или тысячами людей, и это время, которое вы сэкономите! Мне нравится Zend Framework, и он особенно хорош для таких «переходных проектов», как ваш, потому что вы можете взять его или оставить по одному. Я имею в виду, что вы можете использовать ТОЛЬКО объект Zend View или использовать только объект DbTable. Вы можете оставить столько, сколько захотите. Это означает, что вы можете постепенно переходить в Zend-World в своем собственном темпе. EZ-Components работает так же.
Совет № 5) Оберните используемые классы, расширив их. Например, я использую Zend_Acl, но на самом деле использую свой собственный класс Acl, который расширяет Zend_Acl. Это имеет два ключевых значения:
а) Я могу поменять Zend_Acl на что-то другое, не меняя мой код, потому что все это относится к старому «Acl»
б) я могу изменить работу Zend_Acl в соответствии с моими конкретными потребностями, потому что я могу переопределять любые методы, которые мне нравятся, в моем классе 'Acl'.
Совет № 6) Попробуйте получить бай-ин от менеджмента. Объясните им, что рефакторинг фактически сэкономит им деньги, потому что он повысит согласованность и понятность кода, что поможет снизить количество дефектов и упростит их поиск и исправление.
Совет № 7) Попробуйте почитать книги на эту тему, такие как «Рефакторинг: улучшение дизайна существующего кода» Мартина Фаулера