Wenn Sie anderen Code lesen, haben Sie normalerweise Probleme, ihn zu verstehen, oder stellen Sie normalerweise den anderen Code in Frage, ob er falsch / nicht effizient / schlecht formatiert ist (usw.)?
Jemand, der liest, was Sie bei Ihrem ersten Job codiert haben
readability
snoopy
quelle
quelle
Antworten:
Heutzutage habe ich keine großen Probleme, den Code anderer Leute zu lesen. Ich habe so viel schlechten Code gesehen, dass ich sogar diagnostizieren kann, welche Art von Evolution zu irgendetwas geführt hat, das ich finde.
In den meisten Fällen handelt es sich bei professionell schlechtem Code um Code, der in Ordnung war, aber Best Practices, Anforderungen oder Fähigkeiten wurden darunter entfernt. Manchmal ist es nur jemand, der schlecht oder neu in der Sprache ist, aber das ist auch ziemlich offensichtlich (und in einer professionellen Umgebung ungewöhnlich). Je besser ich verstehe, warum Code verrottet, desto weniger stelle ich die Kompetenz anderer Programmierer in Frage.
quelle
Dies kann das Ergebnis dieses Entwicklungsprozesses sein .
In den letzten 2 Jahren habe ich mit anderen Leuten gearbeitet. Ich habe es getestet, Fehler behoben und Verbesserungen vorgenommen. Nach meiner Erfahrung denke ich normalerweise, dass der Code schlecht, voller Fehler, langsam, viel mehr Speicher als nötig verbraucht, Programmierkonzepte unangemessen verwendet, wirklich schlecht formatiert (das ist schwer zu leben), nicht kommentiert und der Logikfluss a ist Chaos. Was ist, wenn ich Ihnen sage, dass ich eine Funktion mit 5k Codezeilen gefunden habe?
Nach meiner Erfahrung stelle ich normalerweise die Qualität des Codes in Frage. Wenn etwas schwer zu verstehen ist, weil es komplex ist, macht es Sinn, nachdem Sie es verstanden haben. Aber wenn es nur schlecht ist, wird es immer schlecht sein.
quelle
Kurze Antwort: Meistens gefällt es uns nicht oder wir werden sehr kritisch, warum das Codieren auf diese Weise erfolgt und nicht umgekehrt. Je mehr Sie jedoch den schlechten Code anderer lesen, desto schneller schätzen Sie gut geschriebenen Code :)
Es mag zwar offensichtlich klingen, aber der beste Weg, um den Code von Menschen besser zu lesen, ist: durch Lesen des Codes von Menschen . Das Problem ist, dass Menschen, die normalerweise den Code anderer lesen, nicht versuchen, ihn zu " groken " , dh sich mit ihm vertraut zu machen. Sie machen das Äquivalent zu Speed-Reading-Gedichten.
Um den Code eines anderen zu erfassen, können Sie Folgendes versuchen:
Alle diese Schritte zwingen Sie dazu, den Code ausführlicher zu lesen.
Es gibt auch einige Tipps, wie Sie das Verständnis einer Codebasis maximieren können, die Sie für Wartung und Support eingeführt haben:
Wenn Sie eine grundlegende Vorstellung davon haben, was los ist, sollten Sie sich den Datenspeicher (die Persistenzschicht) genauer ansehen. Das ist ein weiterer guter Weg, um zu verstehen, was passiert, aber stellen Sie sicher, dass die Dinge, die Sie studieren, tatsächlich verwendet werden. Ich kann mich ein paar Mal daran erinnern, wie ich mit diesem Ansatz einigen Klassen wirklich auf den Grund gegangen bin und dachte, ich hätte das System verstanden - und später festgestellt, dass die Klassen überhaupt nicht verwendet wurden.
Es mag wie eine entmutigende Aufgabe erscheinen - es braucht Zeit und kein ausgefallenes Werkzeug kann den Bedarf an Intelligenz beseitigen -, aber es kann auch sehr lohnend sein. Während Sie fortfahren, werden Sie wahrscheinlich viele Fehler in Eck- / Randfällen finden und Möglichkeiten zur Verbesserung des Codes finden. Ein Ratschlag: Nehmen Sie sich nicht zu viel Zeit für Refactoring / Änderungen, bis Sie den Code gut verstanden haben. Oft stellt sich heraus, dass das, was beim ersten Mal wie ein Fehler oder einfach nur schlechter Code aussieht, ein subtiles Genie bei der Arbeit an späteren, aufgeklärten Untersuchungen ist. Das Entfernen von nicht verwendetem Code ist außerdem sehr zufriedenstellend und ideal für zukünftige Betreuer. Natürlich mit der Annahme, dass die gesamte Codebasis versioniert ist.
quelle