2010-11-16 15 views
5

El programador anterior dejó el sitio web bastante inutilizable y tengo dificultades para modificarlo. Soy nuevo en el diseño de páginas web, así que no sé si mis habilidades son un desajuste de este tipo de trabajo o ¿es normal en la industria de bienes de tener sitios web como estosProblemas con la aplicación web

  1. La página principal incluye tres marcos
  2. Cada uno de estos marcos tienen sus propias funciones de Javascript (entre <head>, y también llamar a otras funciones javascript comunes (utilizando <script src=..>
  3. el uso excesivo de document.all -., de hecho, los elementos se conocen o se accede por document.all única
  4. excesivo uso de XSLT y servicios web - Aunque sé que usando We b Por lo general, los servicios se consideran una buena opción de diseño: ¿hay alguna otra forma en que pueda consumir estos servicios además de usar xslt? Por ejemplo, el menú se crea utilizando los datos devueltos por un método web.
  5. Cada <div>, <td> y cualquier otro elemento tiene un id, y estas id son manipulados por las funciones de Javascript, y algo más servicio web correspondiente y los archivos XSLT se cargan sobre la base de estos ..
  6. Desde la perspectiva de la seguridad, usó T-SQL's for xml auto para la mayoría de los datos que devuelve el servicio web. ¿Es una buena opción desde el punto de vista de la seguridad exponer los nombres de las tablas y las columnas al usuario final?

Estoy muy confundido sobre el estado de la aplicación en sí. ¿Debo aprender sobre las complejidades que ha desarrollado y continuar trabajando en ello, o debería comenzar a reescribir todo? Lo que me deja perplejo es la falta de alternativas, ¿y si esta es la forma común en que se manejan los proyectos web en el mundo real o fue una excepción?

Cualquier sugerencia, cualquier sugerencia es bienvenida. Gracias

+0

Siento tu dolor, hermano. – DOK

+0

No me parece que esté utilizando el framework asp.net como estaba previsto. Entonces, si mi opinión significa algo, consideraría fuertemente otra arquitectura. –

+0

@DOK ... gracias ... – Sekhar

Respuesta

3

No, no es aceptable en esta industria que la gente siga escribiendo código que no se puede mantener.

Mi consejo es subir la cadena y convencer a todos de que esto debe ser reescrito. Si le hacen preguntas, busque un consultor externo con habilidades de desarrollo web relevantes para revisar la aplicación (durante 1 día).

Mantener este sitio web tal como está, porque 'funciona' es como mantener un modelo de automóvil Ford-T en funcionamiento en las carreteras de hoy en día, muy peligroso. Los costos de seguridad y mantenimiento son probablemente los temas más persuasivos para convencer a alguien de no mantener este sitio 'tal cual'.

A continuación, obtenga su formación, valdrá la pena si puede volver a escribir esta aplicación conociendo los conceptos básicos. La tecnología de hoy (asp.net MVC) le permite implementar el valor de negocio principal más rápido que tratar de mantener esta aplicación escrita de manera no convencional.

+0

No es una buena idea reescribir el código desde cero. Aquí hay una buena publicación en el blog de Joel Spolsky: http://www.joelonsoftware.com/articles/fog0000000069.html Siempre es mejor opción refactorizar el código y luego reescribirlo desde cero. –

+1

Creo que también restringir está en orden aquí. Es muy difícil leer el código casi siempre. El hecho de que no pueda entenderlo no significa que haya algo malo en él :) – willcodejavaforfood

+0

Dado el contexto: 1) el desarrollador dejó + 2) el sitio web inestable + 3) el desarrollador nuevo inexperto + 4) .net 1.1 ?? una reescritura desde cero es la mejor opción. La refacturación de dicho sitio requerirá un profesional altamente calificado. El alto riesgo de romper el sitio y gastar más tiempo y dinero tratando de mantenerlo en buen estado seguramente rompería la moral de cualquier persona para continuar desarrollando este sitio. Así que para este afiche mi respuesta es: Intente de todas las formas posibles para que las empresas vean el valor obvio en la construcción del sitio desde cero. – Rudi

2

Punto difícil para un desarrollador inexperto (o cualquier) que se quede. Creo que tiene unas pocas semanas difíciles, donde realmente necesita leer sobre las tecnologías involucradas para obtener una mejor comprensión de ellas y cual es la mejor practica También necesitará profundizar en el código existente para comprender cómo se junta todo.

Cuando haya hecho todo lo que realmente necesita pensar en sus opciones. Por lo general, volver a escribir algo desde cero (especialmente si realmente funciona) es una mala idea. Esto obviamente depende del tamaño del proyecto, para proyectos más pequeños con solo un par de miles de líneas podría estar bien. Al mirar el código de otra persona también es fácil pasar por alto que toda esa mierda extraña podría ser una solución para los requisitos válidos. Las cosas a menudo comienzan bien, pero luego vienen las palabras reales.

Deberá presentar el negocio con estimaciones de tiempo para volver a escribir para ver si eso es una opción, pero supongo que tendrá que aceptar cómo están las cosas y hacer lo mejor con lo que tiene . Tal vez podrías mejorar gradualmente las cosas.

1

Recomendaría mover el proyecto a MVC3 y reescribir las partes XSLT para que funcione utilizando vistas y/o vistas parciales con MVC. La sintaxis de encuadernación del modelo Razor es muy limpia y debería poder dividir rápidamente el código XSLT sucio y quedarse con las propiedades del modelo que necesitaría.

Me gustaría solicitar la invocación de esos servicios web desde el servidor MVC y deserializar los resultados del objeto en objetos reales (o simplemente usar XQuery o Json transversal directamente para extraer elementos para su modelo) y vincularlos a su puntos de vista.

Sin embargo, este podría ser un salto bastante gigantesco para la tecnología en su empresa. Algunos lugares tienen aversión al cambio.

+0

Gracias por referir esas tecnologías. usé un poco MVC pero nunca escuché Razor ... y nunca usé XQuery ... pero me mantendré al tanto. Gracias. – Sekhar

0

Supongo que esto fue escrito hace 6-7 años, y pirateado desde entonces. Cada proyecto acumula una cierta cantidad de goma de mascar y cinta adhesiva. Parece que este lo tiene mal. Sugiero dividir esto en trozos pequeños. Supongo que el sitio está funcionando en este momento? Entonces, si no quieres romper nada, el "negocio" a menudo piensa que "funcionó bien cuando el último tipo estuvo aquí".

Obtenga una idea de sus mayores puntos débiles para mantener el proyecto, y de lo que obtendrá las mayores ganancias de la fijación. una reescritura es genial, si tienes tiempo y apoyo. Pero si se trata de un sitio complejo, hay mucho que decir sobre una aplicación madura. Maduro en el sentido de que satisface las necesidades del negocio, no es que sea un buen código.

Además, trabajar en piezas pequeñas lo hará conocer mejor el proyecto y las necesidades del negocio, de modo que cuando comience la reescritura tendrá una mejor perspectiva.

Cuestiones relacionadas