Pregunta

Estoy trabajando en un sistema bastante grande desarrollado por otro programador que ya no trabaja aquí.

Y como soy el asesino en serie maníaco que lo mantiene y sabe dónde vive.

Pero dejando de lado las cosas divertidas, el sistema está un poco desarrollado como un sistema de clases y un poco no, y ya he configurado una versión de desarrollador y puedo implementar nuevas versiones con bastante rapidez.

  1. ¿Tiene algún consejo sobre un cambio parcial a un nuevo modelo (no puedo hacer una transición completa, simplemente no tengo tiempo)
  2. ¿Recomienda algún nombre de clase que pueda dejar en el sistema (sin que parezca un truco) pero que no choque con los nombres de clase actuales (usuario, datos, registro, etc.)

Gracias.

¿Fue útil?

Solución

Consejo # 0) ¿El código existente es realmente realmente malo o simplemente no se ajusta a sus preferencias personales? Si es lo primero, continúa leyendo esta lista. Si es lo último, respire profundamente y pase al menos un mes o dos para conocer las cosas antes de decidir que necesita volver a hacerlo.

Consejo # 1) Cuando esté codificando, si ve algo que no está bien, corríjalo. Esto llevará más tiempo, pero eventualmente le dará ganancias de productividad a medida que el sistema se vuelva más 'fijo'. Si realmente no tiene tiempo para solucionarlo, hágase un favor y agregue un comentario como este: // TODO: rejig lo que hace x Más tarde, cuando tenga tiempo, simplemente busque & Quot en su código; TODO: & Quot; para obtener una lista de cosas que debes hacer. También puede darles niveles, como & Quot; TODO-High & Quot ;, & Quot; TODO-Medium & Quot ;, & Quot; TODO-Low & Quot ;. Si usa Eclipse o Zend Studio para Eclipse como su editor / IDE, puede configurarlo para encontrar automáticamente & Amp; marque esto para usted, en Preferencias - > Tareas.

Consejo # 2) Una cosa importante que hacer si espera (eventualmente) hacer la transición a MVC es separar HTML de la lógica. Esto significa usar plantillas. Esta tarea puede llevar mucho tiempo, pero una vez que esté hecha, el resto de su transición será mucho más fácil.

Consejo # 3) Intenta establecer convenciones. Ejemplo: controlador & Amp; Los nombres de las vistas deben corresponder a la URL y vivir en directorios correspondientes a la URL. URL para editar el lugar 1234: / places / edit / 1234 Archivo del controlador: /htdocs/sitename/controllers/placesController.php Archivo de plantilla: /htdocs/sitename/views/places/edit.tpl

Sugerencia n. ° 4) Lea los tutoriales de "introducción a" para los principales marcos: Zend, CakePHP, CodeIgniter / Kohana, Symfony. Vea si uno se ve mejor que otro para usted. Pregúntate por qué te gusta. ¿Funcionará para usted o necesita rodar su propio marco (dudoso)? Si es posible, use un marco existente. Ya han sido probados por cientos o miles de personas, ¡y es hora de que ahorres! Me gusta Zend Framework, y es particularmente bueno para & Quot; proyectos de transición & Quot; como el tuyo, porque puedes tomarlo o dejarlo una pieza a la vez. Quiero decir, usted podría elegir SOLO usar el objeto Vista de Zend, o SOLO usar su objeto DbTable. Eres libre de dejar todo lo que quieras. Esto significa que puedes pasar gradualmente a un mundo Zend a tu propio ritmo. EZ-Components funciona de la misma manera.

Consejo # 5) Ajuste las clases que usa extendiéndolas. Por ejemplo, uso Zend_Acl, pero en realidad uso mi propia clase Acl que extiende Zend_Acl. Esto tiene dos implicaciones clave: a) Puedo cambiar Zend_Acl por otra cosa sin cambiar mi código, porque todo se refiere al viejo y simple 'Acl' b) Puedo modificar cómo funciona Zend_Acl para satisfacer mis necesidades específicas, porque puedo anular cualquier método que desee en mi clase 'Acl'.

Consejo # 6) Intenta obtener la aceptación de la administración. Explíqueles que la refactorización en realidad les ahorrará dinero, ya que aumentará la consistencia & Amp; comprensibilidad del código, que ayuda a reducir la cantidad de defectos Y los hace más fáciles de encontrar & amp; arreglar.

Consejo # 7) Intente leer libros sobre el tema, como " Refactorización: Mejora del diseño del código existente " por Martin Fowler

Otros consejos

zend tiene una buena convención de nomenclatura: http://framework.zend.com/manual/en/ coding-standard.naming-conventions.html

Agregaron el prefijo Zend_ a todas sus clases y así evitan enfrentamientos con clases de terceros.

En mi opinión, todo proyecto grande debe implementar una convención de nomenclatura similar, al menos para las clases principales.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top