2012-03-28 5 views
0

Ich arbeite derzeit an einem großen Projekt. Es ist schon zu spät, aber das Problem ist, dass Benutzer die App bereits benutzen und sehr fehlerhafte Ergebnisse haben. Sie beschweren sich nicht viel, aber jeden Tag bekomme ich E-Mails über Fehler und Verbesserungen.RoR: Großes Projektmanagement. Brauchen Sie Hilfe von RoR Senioren, die an großen Projekten gearbeitet haben

Ich würde einige Hilfe bei der Entscheidung über das Wetter zu Debuggen der App oder einfach nur eine andere zu erstellen. Ich arbeite an einer Rails 2.5 App mit alten Plugins.

Und ich bin der einzige, der das alles macht. T.T

+0

Suchst du jemanden? Haben Sie spezielle Fragen? – Austin

+0

Ich wünschte, ich kann dich einstellen, aber mein Chef sucht einen festen Mitarbeiter für mich. Ich glaube, er erstellt eine Klonmaschine, damit er mich kopieren kann. – fujisan

Antwort

2

Sein an einem Projekt wirklich verlockend wie Sie beschreiben, alten Code zu werfen und neu zu schreiben, aber es ist fast immer ein Fehler (siehe http://en.wikipedia.org/wiki/Second-system_effect. Links am Ende in Bezug auf Neufassungen sind von unschätzbarem Wert, vor allem http://chadfowler.com/2006/12/27/the-big-rewrite).

Ich nehme an, Sie haben keine echte Testsuite, oder es wäre einfacher, Probleme aufzuspüren, und Sie würden wahrscheinlich ein kleineres Projekt haben, da getestete Projekte in der Regel gut durchdacht sind (obwohl nicht immer). Das wird es sehr schwierig machen, es neu zu implementieren, und Sie haben die Gewissheit, dass Sie alle Funktionen repliziert haben und dass alle Abhängigkeiten gut mit dem "neuen und verbesserten" Code funktionieren.

Und wenn Ihre Benutzer fehlerhafte Ergebnisse erhalten, würde ich sagen, dass Sie nicht wirklich wissen, was das Problem ist, also wird eine Neufassung das nicht beheben.

Wenn ich ein Projekt wie dieses übernehme, ist Schritt eins, eine Reihe von Charakterisierungstests zu schreiben, die dokumentieren, wie ich denke, dass das System zur Zeit funktionieren soll. Oft entdecken Sie dabei einen Teil der Funktionalität, der keinen Sinn ergibt oder nicht mit dem Rest des Systems in Einklang steht - das könnte Ihr Problem sein. Sobald wir diese Phase durchschritten haben, können wir anfangen, die hässlichen Teile zu refactorisieren, Ansichten aufzuräumen, Logik an einen Ort zu verschieben, toten Code zu entfernen usw. Aber diese Tests sind wirklich wichtig, wenn Sie das System am Laufen halten wollen.

Schließlich setzen Sie vernünftige Erwartungen für sich. Projekte wie diese werden nicht über Nacht in Unordnung gebracht - Sie können sie auch nicht über Nacht reparieren.

+0

Danke für die Info. – fujisan

0

Fujisan Ich bin in der exakten Situation wie du bist. Ich denke, es ist am besten, zuerst die aktuelle Rails-App zu debuggen und dann darüber nachzudenken, sie neu zu erstellen. Wenn Sie die Rails-App neu erstellen, dauert es länger als erwartet. Ich begann wie folgt:

  1. Erstellt eine separate Datenbank und Repository, die den gleichen Code und Daten, die von der Live-Website zieht. Ich nutze diese Website, um mit den Fehlern und nicht auf der Live-Site zu arbeiten.
  2. Zuerst begann zu wissen, welche Modelle vorhanden sind und begann mit Benutzermodell. Am besten verwenden Sie in diesem Schritt die Rails-Konsole und die dbconsole, wenn Sie sie vorher noch nicht verwendet haben. Es ist leicht, die Abhängigkeiten von der Konsole mit Ruby zu finden.
  3. Nur um die Modelle herumgezwickt und die Beziehungen zwischen verschiedenen Modellen gefunden. Nach den Modellen schauten sich die Controller an. Jetzt, nachdem ich eine Vorstellung davon habe, was in der Anwendung passiert, habe ich mit einer Skizze des Zwecks jedes Modells begonnen und was es macht und wie und warum die Abhängigkeiten gemacht werden.
  4. FInally ging mit der Arbeit an den Bugs und Anregungen. Die größte Hürde war mit Edelsteinen. Als die Website von Senioren erstellt wurde, waren die Edelsteine ​​sehr aktiv und jetzt sind sie alle verwaist. Dies macht es schwierig, eine Antwort auf irgendwelche der Fehler zu erhalten, die wegen dieser Edelsteine ​​bestehen.

Railscasts sind deine besten Freunde!

Ich hoffe, dass das geholfen hat. Viel Glück!