Ich bereite eine Abhandlung über "Warum werden (einige) IT-Projekte zu komplex und wie vermeide ich das?" Vor.
Wenn Sie jemals auf Projekte mit komplexen Codes gestoßen sind oder schwer zu warten waren, wie haben Sie es geschafft, diese zu durchlaufen?
Wenn Sie zwischen mehreren Anwendungen wählen müssen, die in Ihrem Projekt verwendet werden sollen, welche Priorität haben Sie in Bezug auf deren Funktionalität und warum?
Antworten:
Dokument, Dokument, Dokument!
Ich arbeite mit ziemlich komplexem MVC-Code und verstehe erst jetzt tatsächlich , wie er funktioniert, anstatt ihn im Glauben zu akzeptieren. Immer wenn ich eine Änderung vornehme, die ich nur schwer herausfinden kann, füge ich einen Kommentar in den Code in diesem Abschnitt ein, um zu klären, was passiert. Es hat mir vielleicht nicht geholfen, da es nicht da war, aber es wird der nächsten Person helfen. Ich möchte auch andere Programmierer um mich herum bitten, meine Änderungen zu überprüfen, um festzustellen, ob sie klar sind.
Mein Unternehmen verfügt über ein internes Wiki, mit dem wir viele unserer Meta-Aufgaben dokumentieren, z. B. Probleme mit virtuellen Servern, häufige Abfragen usw. Immer wenn ich auf etwas stoße, das ich vorher noch nicht getan habe, das ich aber häufig tun muss, überprüfe ich es um zu sehen, ob es ein Wiki gibt. Wenn nicht, mache ich eins. In letzter Zeit haben sich auch mehr Menschen darauf eingelassen, daher hoffe ich, dass es schneller wächst. Ich denke, es hilft wirklich bei der Kommunikation der alltäglicheren Aufgaben, die wir haben.
quelle
Ich glaube nicht, dass Sie Komplexität im Laufe der Zeit vollständig vermeiden können, aber es gibt Möglichkeiten, sie zu mindern:
All dies hängt etwas davon ab, was das Projekt tatsächlich beinhaltet. Manchmal ist es beispielsweise vorteilhaft, Komplexität im Austausch für Leistung zu akzeptieren. Nicht jeder komplexe Code ist notwendigerweise eine schlechte Sache. Im Allgemeinen denke ich jedoch, dass das Befolgen dieser Richtlinien helfen sollte.
quelle
Technische Schulden
Refactor zu beseitigen
geschäftliche Veränderungen
anpassen und auslöschen
Werkzeugwechsel
neue Werkzeuge, gleiche alte Architektur = Impedanzfehlanpassung
quelle
Widerstehen Sie auch der Versuchung, schnelle Hacks hinzuzufügen, da der Code bereits komplex / schlecht / hackig ist. Nach meiner Erfahrung werden Sie exponentiell komplexer.
quelle