2010-11-16 13 views
5

Der vorherige Programmierer verließ die Website in ziemlich unbrauchbar Zustand, und ich habe Schwierigkeiten, etwas zu ändern. Ich bin auf dem Web-Design neu, so dass ich weiß nicht, ob meine Fähigkeiten ein Konflikt auf diese Art von Arbeit oder ist es normal, in der realen Industrie-Websites zu haben wie dieseProbleme mit Webanwendung

  1. Die Startseite enthält drei Rahmen
  2. Jeder dieser Rahmen haben ihre eigenen JavaScript-Funktionen (zwischen <head> und rufen auch andere gängige JavaScript-Funktionen (<script src=..>
  3. Übermäßige Nutzung von document.all mit -. in der Tat die Elemente bezeichnet werden oder durch document.all zugegriffen nur
  4. Übermäßige Nutzung von XSLT und Web Services - obwohl ich weiß, dass wir b Services wird allgemein als eine gute Design-Wahl angesehen - gibt es eine andere Möglichkeit, diese Dienste zu nutzen, als mit xslt. Das Menü wird beispielsweise mit den Daten erstellt, die von einer Webmethode zurückgegeben werden.
  5. Jeder <div>, <td> und jedes andere Element eine ID hat, und diese IDs werden durch die JavaScript-Funktionen manipuliert, und dann einige geeignete Web-Service und die XSLT-Dateien basieren diese auf ..
  6. Aus der Sicherheitsperspektive geladen, Er verwendete T-SQL's for xml auto für die meisten Daten, die vom Webservice zurückgegeben wurden - ist es eine gute Wahl aus Sicherheitsgründen, die Tabellennamen und Spaltennamen dem Endbenutzer zugänglich zu machen?

Ich bin sehr verwirrt über den Zustand der Anwendung selbst. Sollte ich etwas über die Feinheiten erfahren, die er entwickelt hat, und weiter daran arbeiten, oder sollte ich anfangen, alles neu zu schreiben? Was mich sehr verwirrt, ist der Mangel an Alternativen - und ob dies der übliche Weg ist, mit dem Webprojekte in der realen Welt behandelt werden, oder war es eine Ausnahme?

Alle Anregungen, Hinweise sind willkommen. Danke

+0

Ich fühle deinen Schmerz, Bruder. – DOK

+0

Es hört sich für mich nicht so an, als ob das asp.net-Framework so verwendet wird, wie es beabsichtigt war. Wenn meine Meinung etwas bedeutet, würde ich eine andere Architektur in Erwägung ziehen. –

+0

@DOK .. danke ... – Sekhar

Antwort

3

Nein, es ist in dieser Branche nicht akzeptabel, dass Leute nicht-wartbaren Code schreiben.

Mein Rat an Sie ist, die Kette hochzugehen und jeden zu überzeugen, dass dies neu geschrieben werden muss. Wenn sie Sie befragen, finden Sie einen externen Berater mit relevanten Web-Entwicklung Fähigkeiten, um die Anwendung zu überprüfen (für 1 Tag).

Diese Website so zu behalten, wie sie ist, weil sie "funktioniert", ist, als würde man ein funktionierendes Ford-T-Modell auf den Autobahnen halten, sehr gefährlich. Die Kosten für Sicherheit und Wartung sind wahrscheinlich die überzeugendsten Themen, um jemanden davon zu überzeugen, diese Site "so wie sie ist" zu behalten.

Als nächstes werden Sie sich ausbilden lassen, es wird sich auszahlen, wenn Sie diese Anwendung mit den Grundlagen neu schreiben können. Die heutige Technologie (asp.net MVC) ermöglicht es Ihnen, den Kerngeschäftswert schneller zu implementieren, als zu versuchen, diese unkonventionell geschriebene App zu verwalten.

+0

Es ist keine gute Idee, den Code von Grund auf neu zu schreiben. Hier ist ein guter Blog-Beitrag von Joel Spolsky: http://www.joelonsoftware.com/articles/fog0000000069.html Es ist immer besser, den Code zu refaktorieren, dann um es von Grund auf neu zu schreiben. –

+1

Ich denke auch hier ist Zurückhaltung in Ordnung. Es ist sehr schwierig, Code fast immer zu lesen. Nur weil du es nicht verstehen kannst, bedeutet das nicht, dass es irgendwas falsch daran ist :) – willcodejavaforfood

+0

Angesichts des Kontextes: 1) der Entwickler links + 2) instabile Webseite + 3) unerfahrener neuer Entwickler + 4) .net 1.1 ?? eine Neuschreibung von Grund auf neu die beste Option. Die Umgestaltung eines solchen Standortes würde einen hochqualifizierten Fachmann erfordern. Das hohe Risiko, die Seite zu durchbrechen und mehr Zeit und Geld zu investieren, um es in einen Main-Table-Zustand zu bringen, würde sicherlich die Moral von jemandem brechen, um diese Seite weiter zu entwickeln. Also zu diesem Poster steht meine Antwort: Versuchen Sie in allen möglichen Möglichkeiten, Business zu sehen, den offensichtlichen Wert beim Aufbau der Website von Grund auf neu. – Rudi

2

Harte Stelle für einen unerfahrenen Entwickler (oder irgendjemand), um gelassen zu werden. Ich denke, Sie haben ein paar harte Wochen einen Kopf von Ihnen, wo Sie wirklich über die Technologien erfahren müssen, um sie besser zu verstehen und was ist die beste Praxis? Sie müssen auch wirklich in den vorhandenen Code eindringen, um zu verstehen, wie alles zusammenhängt.

Wenn Sie alles getan haben, müssen Sie wirklich über Ihre Optionen nachdenken. Gewöhnlich ist es eine schlechte Idee, etwas von Grund auf neu zu schreiben (vor allem, wenn es tatsächlich funktioniert). Dies hängt natürlich von der Größe des Projekts ab, für kleinere Projekte mit nur ein paar tausend Zeilen Code könnte es OK sein. Wenn man sich jemandes Code anschaut, ist es auch leicht zu übersehen, dass all diese merkwürdige Scheiße tatsächlich Korrekturen für gültige Anforderungen sein können. Die Dinge fangen oft an, ordentlich auszusehen, aber dann kommen die richtigen Worte.

Sie müssen das Geschäft mit Zeitschätzungen für das Umschreiben präsentieren, um zu sehen, ob das eine Option überhaupt ist, aber ich schätze, Sie müssen die Art und Weise akzeptieren und Ihr Bestes geben mit dem, was Sie haben . Vielleicht könntest du die Dinge allmählich verbessern.

1

Ich würde empfehlen, das Projekt auf MVC3 zu verschieben und die XSLT-Teile neu zu schreiben, um mit Ansichten und/oder Teilansichten mit MVC zu funktionieren. Die Binding-Syntax des Razor-Modells ist sehr sauber und sollte in der Lage sein, den schmutzigen XSLT-Code schnell zu trennen und nur die Modelleigenschaften zu erhalten, die Sie benötigen würden.

Ich hätte dann diese Web-Dienste von MVC-Server-Seite aufgerufen und für Sie, um die Objekte in reale Objekte deserialisieren (oder einfach gerade XQuery oder Json Traversing direkt für Ihr Modell zu ziehen) und binden diese an Ihre Ansichten.

Dies könnte jedoch ein ziemlich gigantischer Sprung für die Technologie in Ihrem Unternehmen sein. Manche Orte haben eine Abneigung gegen Veränderungen.

+0

Danke für die Bezugnahme auf diese Technologien. benutzte ein bisschen MVC, hörte aber nie Razor .. und benutzte nie XQuery, aber ich werde mich auf dem Laufenden halten. Vielen Dank. – Sekhar

0

Ich würde vermuten, dass dies vor 6-7 Jahren geschrieben wurde, und seitdem gehackt. Jedes Projekt sammelt eine bestimmte Menge an Kaugummi und Klebeband. Hört sich an, als wäre der hier schlecht. Ich schlage vor, dies in mundgerechte Stücke aufzuteilen. Ich nehme an, dass die Website gerade funktioniert? Damit du nichts kaputt machen willst, denkt das "Business" oft: "Es hat gut funktioniert, als der letzte Typ hier war."

Verschaffen Sie sich ein Gefühl für Ihre größten Probleme, um das Projekt zu erhalten, und was Sie von der Fehlerbehebung am meisten gewinnen können. ein Umschreiben ist großartig, wenn Sie Zeit und Unterstützung haben. Aber wenn es sich um eine komplexe Website handelt, gibt es für eine ausgereifte Anwendung eine Menge zu sagen. Mature in dem Sinne, dass es die geschäftlichen Anforderungen erfüllt, nicht, dass es ein guter Code ist.

Wenn Sie an Kleinteilen arbeiten, werden Sie besser mit dem Projekt und den Geschäftsanforderungen vertraut gemacht. Wenn Sie mit dem Neuschreiben beginnen, haben Sie eine bessere Perspektive.