Ich habe mich in letzter Zeit in einer schwierigen Situation befunden. Ich arbeite jetzt seit fast 8 Monaten an einem Spiel mit einem Programmierfreund. Wir haben beide im August letzten Jahres als Anfänger in der Programmierung angefangen. Er ist ein CS-Student im zweiten Jahr, ich bin ein IT-Supporttechniker und ein Autodidakt mit einer Vielzahl von Büchern und Online-Abonnements.
Das Problem, das ich immer wieder gesehen habe, ist, dass wir beim Schreiben eines Codeblocks oft ein bisschen zusammen hacken, viele Fehler haben und wenn es für einen von uns ein brandneues Konzept ist, voller naiver Lösungen. Das ist in Ordnung, wir lernen, ich gehe davon aus, dass unser Code beim ersten oder zweiten Durchgang ein bisschen zusammen gehackt wird. Das Problem stellt sich, wenn es darum geht, diese gehackten Verhaltensweisen tatsächlich zu beheben und umzugestalten.
Mein Partner wird an seinem frisch gepflasterten Verhalten festhalten und sich krampfhaft weigern, irgendeinen Fehler zu sehen, sobald er anfängt zu funktionieren. Ich kann nicht einmal versuchen, eine Struktur zu verwenden, die nahezu perfekt ist, selbst wenn sie Kommentare und entsprechend benannte Methoden und Felder enthält. Egal wie sehr ich mich bemühe, ich kann ihn einfach nicht dazu bringen, die augenscheinlichen Mängel zu erkennen, die weitere Änderungen oder Erweiterungen des Verhaltens verhindern, ohne es vollständig zu brechen, und alles, was so eng damit verbunden ist, könnte genauso gut in derselben Klasse sein. Gehackte Lösungen bleiben immer gehackt, schlecht durchdachte Designs bleiben so, wie sie waren, als sie zuerst konzipiert und getestet wurden.
Ich verbringe so viel Zeit damit, neuen Code zu babysitten, wie ich es selbst schreibe. Ich verliere, was zu tun ist. Mein Partner hat es heute Abend verloren und klargestellt, dass sein Code so bleiben wird, wie er es zuerst gemacht hat, egal was, egal wie der Benchmark, egal wie die gängige Praxis, egal wie der unwiderlegbare Beweis. Selbst wenn ganze Bücher darüber geschrieben wurden, warum Sie etwas vermeiden wollen, wird er es ablehnen, ihre Gültigkeit anzuerkennen, da dies nur eine Meinung ist.
Ich habe ein berechtigtes Interesse an unserem Projekt, bin mir jedoch nicht sicher, ob ich mit meinem Partner weiterarbeiten kann. Mir stehen drei Möglichkeiten offen.
- Hören Sie auf, sich um die Codebasis zu kümmern, die nach dem Kompilieren noch funktioniert, und versuchen Sie lediglich, ein Verhalten beizubehalten und zu analysieren, das kaum nachlässt. In der Hoffnung, dass, sobald die Dinge ernsthaft zu brechen beginnen, er das sieht und versucht, mehr zu tun, als nur ein Pflaster über das grundlegend fehlerhafte Design zu legen.
- Halten Sie die endlosen Auseinandersetzungen über Themen aufrecht, die vor einem Jahrzehnt von anderen viel fähigeren Personen herausgefunden wurden.
- Stoppen Sie die Programmierung für dieses Projekt, indem Sie fast 10.000 Zeilen meines Codes und unzählige Arbeitsstunden für das Design aufgeben, und versuchen Sie, selbst ein neues Projekt zu finden.
Wie kann ich feststellen, ob es sich lohnt, dieses Projekt mit dieser Person fortzusetzen? Oder welche Faktoren sollten meine Entscheidung beeinflussen? Wir haben viel Code geschrieben und ich möchte nicht darauf verzichten, es sei denn, dies ist notwendig.