Basierend auf den von OP bereitgestellten Details klingt die Frage wie folgt: "Wie lerne ich meinen eigenen Code, damit ich schnell antworten kann, wenn ich gefragt werde, ob ich X finden oder Y erklären möchte."
Beim Codieren müssen Sie sich die Zeit nehmen, um Ihren eigenen Code zu lernen und zu verstehen. Dies könnte das sein, was Ihre TL versucht, Ihnen in weniger Worten zu vermitteln. Als TL für das aktuelle Projekt habe ich in den letzten 11 Monaten viele Codeüberprüfungen durchgeführt, und ich stelle fest, dass einige Entwickler entweder in unserer eigenen Codebasis oder woanders (Google) nach "Beispielcode" suchen , etc ...) und kopiere / füge es ein. Persönlich kann ich es nicht ertragen, weil ihr Code zwar die einfachen Komponententests besteht, sie aber nicht verstehen, was er tatsächlich tut, so dass wir nie garantiert werden, dass es keinen gibt. ' t ein Grenzfall oder eine erwartete Fehlerbedingung, die auftreten könnte.
Wenn Sie kopieren / einfügen müssen, versuchen Sie als Folge der vorherigen Aussage, nur den Code zu kopieren / einzufügen, den Sie zuvor geschrieben haben und den Sie verstehen. Es ist sicherlich in Ordnung, die Idee anderer Leute "auszuleihen", aber in diesem Fall schreiben Sie ihren Code Zeile für Zeile neu, da Sie beim Schreiben ein besseres Verständnis dafür erlangen, was er tut. Wenn Sie externe APIs verwenden, nehmen Sie sich trotzdem ein paar Minuten Zeit, um eine Referenz zu finden und zu erfahren, wie diese API funktioniert, auch wenn Sie ein Beispiel haben, das diese API verwendet. Gehen Sie nicht einfach davon aus, dass es auch in Ihrer Situation funktioniert, wenn es vorher funktioniert hat.
Lesen Sie und lernen Sie, das DRY-Prinzip zu lieben . Oft kann das, was Sie kopieren / einfügen möchten, an einem gemeinsamen Ort abgelegt werden (separate Funktion, separate Klasse, separate Bibliothek ...).
Lesen Sie und lernen Sie, SOLID-Prinzipien zu lieben, und lesen Sie währenddessen KISS, das bereits von mouviciel erwähnt wurde. Diese Prinzipien sind alle darauf ausgerichtet, sehr präzisen, sauberen und modularen Code zu erstellen. Wenn Sie große Klassen und große Funktionen in diesen haben, wird es eindeutig viel schwieriger sein, Dinge zu finden, und versuchen Sie außerdem zu erklären, was der Code tut. Wenn Sie dagegen SRP folgen (oder zumindest versuchen, SRP zu folgen) und jede Klasse / Funktion nur für eine Sache verantwortlich machen, ist Ihr Code klein und gut lesbar.
Holen Sie sich eine Kopie von Clean Code . Sehr gutes Buch. Es geht um das Schreiben von Code, der selbsterklärend und einfach zu lesen, zu warten und zu erweitern ist. Wenn Sie üben, einfach zu lesenden Code zu schreiben, sollten Sie keine Probleme haben, Ihren eigenen Code in den Codeüberprüfungen zu lesen. Und das ist der lustige Teil, ich habe die Leute gebeten, ihren eigenen Code zu lesen oder mir einfach zu sagen, was die Variablen darstellen, und sie konnten nicht antworten, obwohl sie diesen Code (brandneue Klassen, kein Vermächtnis) erst vor einer Woche geschrieben haben . Eine gute Benennung reicht weit.
Wenn Sie nach all der Vereinfachung und Umgestaltung immer noch eine Funktion haben, die einen Algorithmus ausführen muss, der nicht sehr offensichtlich ist, nehmen Sie sich Zeit und schreiben Sie einen Kommentarblock in diese Funktion, der den Algorithmus erklärt. Dies ist nicht nur hilfreich, wenn Sie diese Funktion in zwei Monaten ändern müssen, sondern wenn Sie bei einer Codeüberprüfung überfallen werden, können Sie einfach zurücklesen, was Sie geschrieben haben.
Wenn Sie nach all den oben genannten Punkten immer noch in Schwierigkeiten sind? Sind Sie neu im Team und wurden gebeten, mit viel Legacy-Code zu arbeiten? In diesem Fall könnte es sein, dass Ihre TL ein A $$ ist und Sie proaktiv sein könnten, indem Sie ihn vor dem Meeting bitten, einfach zu sein und nicht die Zeit aller Beteiligten zu verschwenden. Wenn neue Mitarbeiter einem Team beitreten, muss TL genügend Geduld haben, da die Arbeit auf einer neuen Plattform, einem neuen Produkt, neuen Mitarbeitern und einer neuen Umgebung einer neuen Person viel Konzentration abverlangt und dieser Person am Anfang einige Details fehlen. Funktioniert wie geplant und Ihre TL sollte dies einfach akzeptieren.
Wenn Sie nach all den oben genannten Punkten immer noch das Gefühl haben, schreckliche Codeüberprüfungen zu haben. Sprechen Sie mit Ihrer TL. Manchmal fühlen sich Menschen aufgrund der Art der Codeüberprüfungsbesprechungen schlecht, obwohl TL mit Ihnen vollkommen zufrieden ist. Wenn ich Codeüberprüfungen durchführe, ist es mein Ziel, hervorzuheben, was geändert werden muss, sicherzustellen, dass Sie die Änderungen verstehen und fortfahren. Oft habe ich keine Zeit, höflich zu sein, und manche Leute werden defensiv und versuchen, jeden einzelnen meiner Kommentare zu beantworten. In solchen Situationen kommt die Besprechung zur Codeüberprüfung zum Stillstand, sodass ich sie eher unterbreche und weitermache. Im Allgemeinen würde ich nach dem Treffen mit den neuen Leuten sprechen, um sicherzustellen, dass sie den Prozess verstehen und dass es nichts Persönliches ist. Nach wenigen Codeüberprüfungen fühlen sich die Menschen im Allgemeinen viel wohler.