paint-brush
Was ich mit ChatGPT als Programmier-Mentor gelernt habevon@zawistowski
5,163 Lesungen
5,163 Lesungen

Was ich mit ChatGPT als Programmier-Mentor gelernt habe

von Wojciech Zawistowski22m2023/05/08
Read on Terminal Reader
Read this story w/o Javascript

Zu lang; Lesen

Nichts beschleunigt Ihr Wachstum so sehr wie ein erfahrener Mentor. Kann ChatGPT als sinnvoller Ersatz dienen? Ich bin ein Entwickler mit mehr als 20 Jahren Erfahrung und habe es auf die Probe gestellt.
featured image - Was ich mit ChatGPT als Programmier-Mentor gelernt habe
Wojciech Zawistowski HackerNoon profile picture
0-item
1-item

Nichts beschleunigt Ihr Wachstum so sehr wie ein erfahrener Mentor. Es kann jedoch schwierig sein, einen solchen zu finden, und die Verfügbarkeit ist oft begrenzt.


Andererseits sind KI-Agenten wie ChatGPT rund um die Uhr verfügbar und scheinen auch recht kompetent zu sein. Könnte ein solcher Agent als sinnvoller Ersatz für einen echten, menschlichen Mentor dienen?


Was mich besonders interessiert, sind mehr „Meta“-Ratschläge – die kleinen Tipps und Tricks, die nur durch umfangreiche Erfahrung erworben werden und die Ihnen helfen, als Entwickler zu wachsen und zu reifen – und nicht nur Code zu generieren oder zu erklären.


Als jemand mit über 20 Jahren Erfahrung, der mehrere Nachwuchsentwickler betreut hat, bin ich gespannt, wie fundiert, umfassend und umsetzbar diese Ratschläge von ChatGPT für einen Anfänger wären.


Machen wir eine kurze Probefahrt!

TL;DR.

Wenn Sie neugierig auf die Qualität der Ratschläge von ChatGPT sind, aber nicht die gesamte Diskussion und meinen ausführlichen Schritt-für-Schritt-Kommentar durchgehen möchten, können Sie direkt zum letzten Abschnitt springen.

Eine kurze Legende.

💬 Meine Anregungen.


🤖 ChatGPT-Antworten.


🤔 Meine Gedanken/Kommentare.

Die Einrichtung.

💬 Handeln Sie als erfahrener, professioneller Softwareentwickler mit über 10 Jahren Erfahrung. Stellen Sie sich vor, Sie betreuen einen jüngeren, jungen Kollegen, der nicht mehr als 2-3 Jahre Erfahrung hat. Ich werde Ihnen verschiedene Fragen im Zusammenhang mit der Karriere als Programmierer und Softwareentwickler stellen. Ich werde sie als jüngeren Entwickler fragen. Beantworten Sie sie auf eine Art und Weise, die mir dabei hilft, ein besserer Entwickler zu werden und mich beruflich weiterzuentwickeln.


🤖 Klar, ich bin hier, um dir zu helfen! Wenn Sie Fragen zum Programmieren oder zu Ihrer Karriere in der Softwareentwicklung haben, können Sie mir jederzeit Fragen stellen. Ich werde mein Bestes tun, um Sie auf der Grundlage meiner Erfahrung zu unterstützen.


🤔 So weit, so gut. Lass uns anfangen!


Die „Millionen-Dollar“-Frage: 10 Lifehacks, um ein besserer Entwickler zu werden.

💬 Bitte teilen Sie 10 Lifehacks, die schnell und einfach umzusetzen sind und mir sofort helfen, ein besserer Entwickler zu werden.


🤖 Natürlich! Hier sind 10 Lifehacks, die Sie schnell umsetzen können, um Ihre Fähigkeiten als Entwickler zu verbessern:


  1. Verwenden Sie Tastaturkürzel : Lernen und verwenden Sie IDE- oder editorspezifische Tastaturkürzel, um schneller durch Code zu navigieren und ihn zu bearbeiten. Dadurch sparen Sie Zeit und steigern Ihre Produktivität.


  2. Befolgen Sie die Pomodoro-Technik : Teilen Sie Ihre Arbeit in kleine, überschaubare Intervalle (normalerweise 25 Minuten) auf, gefolgt von einer kurzen Pause. Diese Technik kann Ihnen helfen, konzentriert zu bleiben und einen gleichmäßigen Arbeitsrhythmus aufrechtzuerhalten.


  3. Master-Versionskontrolle : Machen Sie sich mit Git oder einem anderen Versionskontrollsystem vertraut. Auf diese Weise können Sie Änderungen in Ihrem Code nachverfolgen, mit anderen zusammenarbeiten und bei Bedarf auf frühere Versionen zurückgreifen.


  4. Wiederkehrende Aufgaben automatisieren : Verwenden Sie Skripte oder Tools, um alltägliche Aufgaben wie Codeformatierung, Dateiumbenennung oder Projektgerüste zu automatisieren. Dadurch sparen Sie Zeit und verringern das Risiko menschlicher Fehler.


  5. Lesen und schreiben Sie sauberen Code : Verwenden Sie einen sauberen Codierungsstil, der leicht zu lesen und zu verstehen ist. Befolgen Sie Best Practices für Namenskonventionen, Einrückungen und Codestruktur. Dadurch wird Ihr Code besser wartbar und der Zeitaufwand für das Debuggen wird reduziert.


  6. Kommentieren Sie Ihren Code : Schreiben Sie aussagekräftige Kommentare, um den Zweck und die Funktionalität Ihres Codes zu erläutern. Dadurch wird es für andere einfacher, Ihren Code zu verstehen, und Sie können sich an Ihren Gedankengang erinnern, wenn Sie den Code später noch einmal durchgehen.


  7. Suchen Sie nach Codeüberprüfungen : Bitten Sie Ihre Kollegen oder Mentoren, Ihren Code regelmäßig zu überprüfen. Dies wird Ihnen helfen, Bereiche mit Verbesserungspotenzial zu identifizieren und von ihrem Fachwissen zu lernen.


  8. Bleiben Sie neugierig : Entdecken Sie ständig neue Sprachen, Frameworks und Tools. Dies wird Ihnen helfen, über die neuesten Branchentrends auf dem Laufenden zu bleiben und Ihre Fähigkeiten zu erweitern.


  9. Probleme in kleinere Teile aufteilen : Wenn Sie mit einem komplexen Problem konfrontiert werden, zerlegen Sie es in kleinere, besser zu bewältigende Aufgaben. Dies hilft Ihnen, den Fokus zu behalten und verhindert, dass Sie überfordert werden.


  10. Passen Sie auf sich auf : Geben Sie Ihrem körperlichen und geistigen Wohlbefinden Priorität. Treiben Sie regelmäßig Sport, schlafen Sie ausreichend und machen Sie bei Bedarf Pausen. Ein gesunder Geist und Körper werden Ihnen helfen, produktiver und konzentrierter zu arbeiten.


Denken Sie daran: Ein besserer Entwickler zu werden ist ein fortlaufender Prozess, der Zeit und Engagement erfordert. Aber durch die Umsetzung dieser Lifehacks können Sie Ihr Wachstum beschleunigen und Ihre Fähigkeiten kontinuierlich verbessern.


🤔 Die Liste scheint größtenteils solide zu sein, wenn auch etwas zufällig und nicht besonders bahnbrechend. Allerdings habe ich ChatGPT um Ratschläge für Anfänger gebeten, sodass die relativ offensichtlichen Antworten verständlich sind.


Einige dieser Tipps scheinen nicht so schnell und einfach umzusetzen zu sein (was Teil meiner Aufforderung war). Einige andere sind etwas vage und bedürfen weiterer Erklärungen – aber da ChatGPT für die iterative Verwendung konzipiert ist, bei der mit Folgefragen immer tiefer gegraben wird, ist das meiner Meinung nach in Ordnung. Es gibt ein paar Punkte, mit denen ich nicht ganz einverstanden bin, aber ich betrachte sie eher als Ansichtssache und nicht als falsch. Insgesamt nicht schlecht!


Lassen Sie uns jeden Vorschlag etwas genauer betrachten:


  1. Verwenden Sie Tastaturkürzel : Guter Rat. Die Implementierung ist schnell und einfach und steigert zweifellos Ihre Produktivität. Eine Sache, die mich überrascht, ist, warum nur einfache Tastaturkürzel? Die Nutzung erweiterter Funktionen wie Code-Intelligenz, Snippets, Autoformatter, Code-Generatoren und KI-Assistenten wie GitHub Copilot (oder ChatGPT selbst, duh) wäre ebenso einfach zu nutzen und würde einen viel größeren Schub bringen.


  1. Befolgen Sie die Pomodoro-Technik : Guter Rat. Du solltest es unbedingt ausprobieren. Wenn Sie noch nie von Pomodoro gehört haben, müssen Sie es möglicherweise googeln oder ChatGPT eine Folgefrage stellen, aber ansonsten ist es ziemlich einfach und selbsterklärend.


  1. Master-Versionskontrolle : Guter Rat, aber definitiv kein Lifehack. Schon das Wort „Meister“ zeigt deutlich, dass es sich nicht um eine schnelle und einfache Lösung handelt. Ich würde auch behaupten, dass die Versionskontrolle ein integraler Bestandteil Ihres primären Tech-Stacks ist, ähnlich wie Ihre Programmiersprache, Ihr Haupt-Framework oder Ihre Datenbank, und kein „Hack“ zur Verbesserung Ihrer Produktivität. Aber ansonsten ist der Rat richtig.


  1. Sich wiederholende Aufgaben automatisieren : Guter Rat, aber auch hier bedarf es weiterer Erkundung. Es ist zu anspruchsvoll, um es sofort umzusetzen.


  1. Sauberen Code lesen und schreiben : Viel sauberen Code (oder Code im Allgemeinen) zu lesen ist ein fantastischer Rat – und einfach umzusetzen. Der einzige schwierige Teil besteht darin, als Anfänger herauszufinden, welcher Code sauber ist und wo er zu finden ist. Dies erfordert wiederum eine tiefergehende Untersuchung. Sauberen Code zu schreiben ist jedoch eine ganz andere Sache. Es ist Teil einer lebenslangen Beherrschung Ihres Handwerks und es wurden ganze Bücher zu diesem Thema geschrieben. Sie sollten es unbedingt studieren, aber genau wie das Beherrschen der Versionskontrolle ist es alles andere als ein Lifehack.


  1. Kommentieren Sie Ihren Code : Dies ist der erste Tipp, den ich umstritten finde (allerdings, wie ich bereits sagte, nicht weil er offensichtlich falsch ist, sondern aufgrund persönlicher Vorlieben). In Bezug auf Kommentare gibt es zwei Standpunkte: starkes Kommentieren oder Code so selbsterklärend gestalten, dass Sie keine Kommentare benötigen (es sei denn, Sie müssen den Geschäftszweck hinter Ihrem Code erläutern). Ich gehöre stark zum zweiten Lager, daher kommt das sehr maßgebliche „Kommentare schreiben“ von ChatGPT bei mir nicht an. Andererseits heißt es auch, sinnvolle Kommentare zu schreiben und den Zweck Ihres Codes zu erläutern, dem ich voll und ganz zustimme. Aber es heißt auch, die Funktionalität Ihres Codes zu erklären, was ich als schlechte Praxis und Zeitverschwendung halte. Daher habe ich diesbezüglich gemischte Gefühle.


  1. Suchen Sie nach Codeüberprüfungen : Dieser Rat ist so solide und einfach anwendbar, wie er nur sein kann. Sie sollten unbedingt so oft wie möglich Code-Reviews einholen, insbesondere als Anfänger.


  1. Bleiben Sie neugierig : Dies ist der zweite Ratschlag, den ich einigermaßen umstritten finde. Das Erkunden neuer Sprachen, Frameworks und Tools ist insgesamt ein guter Rat (obwohl ich „kontinuierlich“ sagen würde – es riecht nach Schlagwort-gesteuerter Entwicklung), aber es ist möglicherweise nicht die beste Strategie für einen Anfänger mit nur ein oder zwei Jahren Erfahrung Erfahrung. Als Junior sollten Sie sich mehr darauf konzentrieren, eine solide Grundlage für Best Practices und Prinzipien aufzubauen und diese gründlich zu erlernen. Dies ist einfacher, wenn Sie sich eine Zeit lang auf die Beherrschung eines einzelnen Stacks konzentrieren. Aber ehrlich gesagt bin ich hier kleinlich und würde diesen Ratschlag nicht als falsch bezeichnen.


  1. Probleme in kleinere Teile zerlegen : Guter Rat, aber auch hier ist er zu hoch. Es ist nicht trivial, Probleme effektiv aufzuschlüsseln. Um dies tatsächlich in die Praxis umzusetzen, wäre ein weiterer Drilldown erforderlich.


  1. Passen Sie auf sich auf : Sehr gute und anwendbare Beratung. Eigentlich ist es schön, dass ChatGPT solche Ratschläge enthält, die nicht direkt mit harten technischen Fähigkeiten zu tun haben.


Okay, wir sind alle Tipps durchgegangen. Nicht schlecht, überhaupt nicht schlecht. Allerdings sind nicht alle davon sofort anwendbar. Schauen wir uns einige genauer an, um zu sehen, wie nah wir an den Kern herankommen können

Tastaturkürzel – tiefer graben.

💬 Schauen wir uns den Tipp „Tastaturkürzel verwenden“ genauer an. Können Sie etwas näher erläutern, ob ich alle möglichen Tastenkombinationen lernen sollte oder ob es bestimmte Kategorien von Tastenkombinationen gibt, auf die ich mich konzentrieren sollte?


🤖 Auf jeden Fall! Wenn es um Tastaturkürzel geht, liegt der Schlüssel darin, sich darauf zu konzentrieren, diejenigen zu lernen, die den größten Einfluss auf Ihre Produktivität und Effizienz haben. Sie müssen nicht jede einzelne verfügbare Verknüpfung lernen, sondern diejenigen priorisieren, die Ihnen am meisten Zeit sparen und Ihren Arbeitsablauf optimieren.


Hier sind einige Kategorien von Tastaturkürzeln, auf die Sie sich konzentrieren sollten:


  1. Navigationsverknüpfungen : Mit diesen Verknüpfungen können Sie schnell durch Ihren Code navigieren, zwischen Dateien oder Registerkarten wechseln und bestimmte Symbole oder Instanzen eines Schlüsselworts finden. Beispiele hierfür sind „Gehe zu Definition“, „Gehe zu Zeile“ und „Alle Referenzen suchen“.


  2. Tastenkombinationen bearbeiten : Diese Tastenkombinationen unterstützen Sie bei der Bearbeitung von Code durch Ausschneiden, Kopieren, Einfügen und Formatieren von Text. Beispiele hierfür sind „Zeile duplizieren“, „Zeile nach oben/unten verschieben“ und „Kommentar umschalten“.


  3. Refactoring-Verknüpfungen : Refactoring ist ein wesentlicher Bestandteil der Aufrechterhaltung sauberen und effizienten Codes. Verknüpfungen, die Ihnen bei der schnellen Umgestaltung von Code helfen, können Ihnen viel Zeit sparen. Beispiele hierfür sind „Symbol umbenennen“, „Methode extrahieren“ und „Signatur ändern“.


  4. Debugging-Verknüpfungen : Das Debuggen ist ein entscheidender Teil des Entwicklungsprozesses. Verknüpfungen, die Ihnen bei der Verwaltung von Haltepunkten, beim schrittweisen Durchlaufen von Code und beim Überprüfen von Variablen helfen, können Ihre Debugging-Sitzungen optimieren. Beispiele hierfür sind „Toggle Breakpoint“, „Step Over“ und „Step Into“.


  5. IDE-spezifische Verknüpfungen : Ihre IDE oder Ihr Code-Editor verfügt möglicherweise über einzigartige Funktionen oder Tools, auf die über Verknüpfungen zugegriffen werden kann. Machen Sie sich mit diesen Verknüpfungen vertraut, um die von Ihnen gewählte Entwicklungsumgebung optimal zu nutzen.


Beachten Sie, dass die tatsächlichen Tastenkombinationen für diese Tastenkombinationen je nach verwendeter IDE oder Code-Editor variieren können. Sehen Sie in der Dokumentation oder in den Einstellungen Ihres Editors nach, um diese Verknüpfungen zu entdecken und nach Ihren Wünschen anzupassen.


Konzentrieren Sie sich beim Erlernen von Abkürzungen zunächst auf einige wenige. Wenn Sie damit vertrauter werden, integrieren Sie nach und nach weitere Verknüpfungen in Ihren täglichen Arbeitsablauf. Mit der Zeit wird die Verwendung dieser Tastenkombinationen zur Selbstverständlichkeit und Sie werden eine deutliche Verbesserung Ihrer Produktivität und Effizienz feststellen.


🤔 Das ist eine tolle Kategorisierung! Ich bin beeindruckt. Mir gefallen auch die konkreten Beispiele für jede Kategorie. Dieser Ratschlag ist bereits umsetzbar – Sie können in der Dokumentation Ihrer IDE ganz einfach nach „Navigationsverknüpfungen“ oder „Gehe zu Definition“ suchen. Darüber hinaus sind die Kategorien gut gewählt. Sie sind wirklich diejenigen, die Ihre Produktivität erheblich steigern werden.


Nur eines fehlt mir noch: die substanzielleren Produktivitätssteigerungen wie Autovervollständigung oder Code-Snippets. Ich möchte nicht explizit nach ihnen fragen, da ich so tue, als wüsste ich nicht, dass sie existieren. Lassen Sie uns die Regeln jedoch etwas ändern:


💬 Sie sagten, dass ich Abkürzungen lernen sollte, „um Code schneller zu navigieren und zu manipulieren“, dass „der Schlüssel darin besteht, sich darauf zu konzentrieren, diejenigen zu lernen, die den größten Einfluss auf Ihre Produktivität und Effizienz haben“ und „denjenigen Priorität einzuräumen, die dies tun.“ Sparen Sie die meiste Zeit und helfen Sie, Ihren Arbeitsablauf zu optimieren.“ Gibt es außer Tastaturkürzeln noch andere Tools oder IDE-Funktionen, die mir beim Erreichen dieser Ziele helfen könnten?


🤖 Auf jeden Fall! Abgesehen von Tastaturkürzeln gibt es viele andere Tools und IDE-Funktionen, die Ihnen helfen können, Ihre Produktivität und Effizienz zu steigern. Hier sind einige davon:


  1. Code-Snippets und -Vorlagen : Viele IDEs und Editoren unterstützen Code-Snippets oder -Vorlagen, die mit nur wenigen Tastendrücken häufig verwendete Codestrukturen oder Boilerplate-Code generieren können. Dies kann Ihnen Zeit sparen und dazu beitragen, die Konsistenz Ihres Codes aufrechtzuerhalten.


  2. Automatische Vervollständigung und IntelliSense : Moderne IDEs und Code-Editoren bieten häufig eine intelligente Code-Vervollständigung, die Vervollständigungen für Variablen, Methoden oder Schlüsselwörter basierend auf dem aktuellen Kontext vorschlägt. Dies kann Ihren Codierungsprozess beschleunigen und das Risiko von Tipp- oder Syntaxfehlern verringern.


  3. Integriertes Debugging : Mit den in Ihre IDE integrierten Debugging-Tools können Sie Haltepunkte festlegen, Ihren Code schrittweise durchgehen und Variablen überprüfen, ohne Ihre Entwicklungsumgebung zu verlassen. Dieses nahtlose Debugging-Erlebnis kann Ihnen dabei helfen, Probleme effizienter zu finden und zu beheben.


  4. Integration der Versionskontrolle : Viele IDEs bieten integrierte Unterstützung für Versionskontrollsysteme wie Git. Diese Integration kann allgemeine Aufgaben der Versionskontrolle, wie das Festschreiben von Änderungen, das Erstellen von Zweigen und das Lösen von Konflikten, innerhalb Ihrer IDE vereinfachen.


  5. Codeanalyse und Linting : Echtzeit-Codeanalyse- und Linting-Tools können Ihnen beim Schreiben Ihres Codes dabei helfen, potenzielle Probleme wie Syntaxfehler, nicht verwendete Variablen oder Verstöße gegen den Codestil zu identifizieren. Dadurch können Sie beim Debuggen Zeit sparen und sicherstellen, dass Ihr Code den Best Practices entspricht.


  6. Refactoring-Tools : Einige IDEs verfügen über integrierte Tools, die Ihren Code automatisch umgestalten können, z. B. Methoden extrahieren, Variablen umbenennen oder Methodensignaturen ändern. Diese Tools können Ihnen helfen, sauberen und effizienten Code ohne manuellen Aufwand zu pflegen.


  7. Aufgaben- und Projektverwaltung : Viele IDEs und Editoren verfügen über Funktionen, mit denen Sie Aufgaben verwalten, Aufgabenlisten erstellen und den Fortschritt Ihrer Projekte verfolgen können. Dies kann Ihnen helfen, organisiert zu bleiben und Ihre Arbeit effektiver zu priorisieren.


  8. Anpassung : Die meisten IDEs und Editoren bieten ein hohes Maß an Anpassungsmöglichkeiten, einschließlich Themen, Plugins und Konfigurationsoptionen. Wenn Sie Ihre Entwicklungsumgebung an Ihre Vorlieben anpassen, können Sie komfortabler und effizienter arbeiten.


  9. Integriertes Terminal : Wenn Sie ein integriertes Terminal in Ihrer IDE haben, können Sie Zeit sparen, indem Sie Befehle ausführen, Ihr Projekt erstellen oder mit der Versionskontrolle interagieren können, ohne zwischen Fenstern wechseln zu müssen.


Diese Tools und Funktionen können Ihr Codierungserlebnis erheblich verbessern und Sie effizienter und produktiver machen. Nehmen Sie sich die Zeit, die Funktionen Ihrer IDE oder Ihres Code-Editors zu erkunden, und zögern Sie nicht, neue Tools oder Plugins auszuprobieren, die Ihren Workflow verbessern können.


🤔 Jetzt reden wir! Die Liste ist nicht ganz erschöpfend (zum Beispiel fehlen automatische Code-Formatierer und überraschenderweise immer noch KI-Assistenten – ist sich ChatGPT seiner eigenen Fähigkeiten nicht bewusst? Oder ist es einfach zu bescheiden?), aber sie ist solide und umfassend genug, um dies zu tun für einen Anfänger-Entwickler wirklich nützlich sein. Und jetzt, da Sie sich der Vielfalt moderner Entwicklertools bewusst sind, können Sie nach und nach noch tiefer in die Materie eintauchen.

Versionskontrolle – umsetzbarere, mundgerechtere Tipps.

💬 Einer der Tipps, die du mir gegeben hast, war „Master-Versionskontrolle“. Aber ist es wirklich ein schneller und einfacher Lifehack? Es scheint mir ein langer Prozess zu sein, die Versionskontrolle vollständig zu beherrschen. Gibt es schnelle Tipps zur Versionskontrolle, die sofort umgesetzt werden könnten?


🤖 Sie haben Recht, dass die Beherrschung der Versionskontrolle ein längerer Prozess sein kann, aber es gibt einige schnelle Tipps und Best Practices, die Sie sofort umsetzen können, um Versionskontrollsysteme wie Git effektiver zu nutzen. Hier sind ein paar:


  1. Führen Sie häufig und in kleinen Einheiten Commits durch : Führen Sie kleine, gezielte Commits durch, die eine einzige, logische Änderung enthalten. Dadurch ist es einfacher, den Verlauf des Projekts zu verstehen, Probleme zu lokalisieren und Änderungen bei Bedarf rückgängig zu machen.


  2. Schreiben Sie beschreibende Commit-Nachrichten : Wenn Sie Änderungen festschreiben, schreiben Sie klare und prägnante Commit-Nachrichten, die die Änderungen und ihren Zweck beschreiben. Dies hilft Ihnen und Ihrem Team, den Projektverlauf zu verstehen und erleichtert das spätere Auffinden spezifischer Änderungen.


  3. Zweige verwenden : Erstellen Sie Zweige für neue Funktionen, Fehlerbehebungen oder Experimente. Dadurch bleibt Ihr Hauptzweig stabil und Sie können mehrere Aufgaben parallel bearbeiten, ohne die Hauptcodebasis zu beeinträchtigen.


  4. Regelmäßig zusammenführen : Führen Sie regelmäßig Änderungen aus dem Hauptzweig in Ihren Feature-Zweigen zusammen, um sie auf dem neuesten Stand zu halten und Zusammenführungskonflikte zu minimieren, wenn es Zeit ist, Ihre Änderungen zu integrieren.


  5. Ziehen Sie, bevor Sie pushen : Bevor Sie Ihre Änderungen an das Remote-Repository übertragen, rufen Sie immer die neuesten Änderungen vom Remote-Repository ab, um sicherzustellen, dass Ihr lokales Repository auf dem neuesten Stand ist. Dies kann dazu beitragen, Konflikte zu vermeiden und eine reibungslosere Zusammenarbeit zu gewährleisten.


  6. Umfassen Sie .gitignore : Verwenden Sie eine .gitignore-Datei, um Dateien auszuschließen, die nicht nachverfolgt werden müssen, wie temporäre Dateien, Build-Artefakte oder IDE-spezifische Dateien. Dadurch bleibt Ihr Repository sauber und konzentriert sich auf den wesentlichen Code.


Diese kurzen Tipps können Ihnen dabei helfen, Versionskontrollsysteme effektiver zu nutzen und Ihren Arbeitsablauf zu optimieren. Auch wenn Sie dadurch nicht über Nacht zum Meister der Versionskontrolle werden, können sie Ihnen als solide Grundlage dienen, auf der Sie aufbauen können, während Sie Ihre Fähigkeiten weiter erlernen und verfeinern.


🤔 Ziemlich schick. Obwohl diese Tipps Sie nicht zur vollständigen Beherrschung der Versionskontrolle führen werden, sind sie jetzt umsetzbarer – und insgesamt sind sie ziemlich anständig, wenn man bedenkt, dass es sich um Ratschläge für Anfänger handelt.


Einige Punkte bleiben etwas vage, zum Beispiel „Verzweigungen verwenden“. Verzweigungsstrategien für die Versionskontrolle sind ein umfassendes und komplexes Thema, und dieser spezielle Punkt ist ohne weitere Untersuchung nicht sehr umsetzbar. Es handelt sich jedoch um einen einzelnen Ausreißer und bietet zumindest einen klaren Ausgangspunkt für tiefergehende Untersuchungen.


Insgesamt nicht schlecht!

Sauberen Code lesen – Mehrdeutigkeit beseitigen.

💬 Du hast mir einen Tipp zum Thema „Lesen Sie sauberen Code“ gegeben. Aber woher weiß ich als Anfänger, welcher Code sauber ist? Wie erkennt man es? Und wo findet man solchen Code zum Lesen?


🤖 Als Anfänger kann es schwierig sein, sauberen Code auf den ersten Blick zu erkennen. Mit etwas Übung und dem Umgang mit gut geschriebenem Code werden Sie jedoch beginnen, ein Verständnis dafür zu entwickeln, was sauberen Code ausmacht. Hier sind einige allgemeine Richtlinien und Merkmale von sauberem Code:


  1. Lesbarkeit : Sauberer Code ist leicht zu lesen und zu verstehen. Es verfügt über eine klare Struktur, aussagekräftige Variablen- und Funktionsnamen sowie eine ordnungsgemäße Einrückung. Es folgt außerdem einheitlichen Namenskonventionen und Stilrichtlinien.


  2. Modularität : Sauberer Code ist in kleine, fokussierte Funktionen oder Methoden organisiert, die eine einzelne Aufgabe ausführen. Jedes Modul sollte eine einzelne Verantwortung haben und der Code sollte in logische Komponenten unterteilt sein.


  3. Wartbarkeit : Sauberer Code lässt sich leicht ändern, erweitern und umgestalten. Es vermeidet die Duplizierung von Code (DRY-Prinzip) und befolgt Best Practices, um das Risiko der Einführung von Fehlern bei Änderungen zu minimieren.


  4. Dokumentation und Kommentare : Sauberer Code ist gut dokumentiert und enthält Kommentare, die den Zweck und die Funktionalität des Codes erläutern. Kommentare sollten prägnant sein und nur Informationen enthalten, die beim Lesen des Codes selbst nicht sofort ersichtlich sind.


  5. Effizienz : Sauberer Code ist hinsichtlich Leistung und Ressourcennutzung effizient. Es vermeidet unnötige Komplexität und die verwendeten Algorithmen und Datenstrukturen sind für die jeweilige Problemstellung gut geeignet.


Um sauberen Code zum Lesen und Lernen zu finden, ziehen Sie die folgenden Quellen in Betracht:


  1. Beliebte Open-Source-Projekte : Viele beliebte Open-Source-Projekte auf Plattformen wie GitHub verfügen über hochwertigen Code, der von mehreren Mitwirkenden überprüft und verfeinert wurde. Erkunden Sie Projekte in der Sprache oder dem Framework, mit dem Sie arbeiten, um Beispiele für sauberen Code zu finden.


  2. Best Practices für die Codierung : Suchen Sie nach Artikeln, Büchern oder Kursen zu Best Practices für die Codierung für die Programmiersprache, mit der Sie arbeiten. Diese Ressourcen enthalten häufig Beispiele für sauberen Code und Richtlinien zum Schreiben.


  3. Codeüberprüfungen : Nehmen Sie an Codeüberprüfungen in Ihrem Team teil oder holen Sie Feedback von erfahrenen Entwicklern oder Mentoren ein. Das Beobachten ihres Feedbacks und ihrer Vorschläge kann Ihnen dabei helfen, sauberen Code zu erkennen und Ihren eigenen Codierungsstil zu verbessern.


  4. Codierungsherausforderungen : Websites wie LeetCode, HackerRank oder Codewars bieten Codierungsherausforderungen zusammen mit von anderen Benutzern eingereichten Lösungen. Die Durchsicht dieser Lösungen kann Ihnen dabei helfen, verschiedene Ansätze zur Problemlösung kennenzulernen und saubere Codebeispiele kennen zu lernen.


Denken Sie daran, dass das Erkennen und Schreiben von sauberem Code eine Fähigkeit ist, die sich im Laufe der Zeit entwickelt. Je mehr Code Sie lesen und schreiben, desto besser können Sie sauberen Code erkennen und Best Practices in Ihre eigene Arbeit übernehmen.


🤔 Diesmal ist das Ergebnis bestenfalls mittelmäßig.


Im ersten Teil der Antwort heißt es im Wesentlichen, dass man sauberen Code daran erkennen kann, dass er sich an sehr hochrangige und vage Grundsätze für sauberen Code hält (von denen einige, wie Kommentare und Effizienz, sogar umstritten sind – zum Beispiel). Code muss wirklich effizient sein, um sauber und lesbar zu sein?).


Der zweite Teil ist ebenfalls ein Hit-or-Miss. Die Teilnahme an Codeüberprüfungen ist ein guter Rat (obwohl es stärker betont werden könnte, dass Sie nicht nur Ihren Code überprüfen lassen, sondern auch so viele Überprüfungen wie möglich selbst durchführen sollten, um vom Code erfahrenerer Entwickler zu lernen). Das Lesen von Büchern und Artikeln über bewährte Codierungspraktiken ist ein guter Ratschlag, aber eher offensichtlich und bietet keinen großen Mehrwert. Von Open-Source-Projekten und Coding-Challenge-Websites zu lernen ist möglicherweise ein fantastischer Ratschlag, aber diese Quellen enthalten oft auch schlechten Code und lösen immer noch nicht das Rätsel, wie ein Anfänger erkennen kann, was was ist.


Versuchen wir, etwas tiefer zu graben:


💬 Sie sagten, dass ich mir beliebte Open-Source-Projekte ansehen kann, um sauberen Code zum Lesen und Lernen zu finden, da viele von ihnen über hochwertigen Code verfügen. Aber viele Open-Source-Projekte haben auch Code von geringer Qualität. Wie kann ich erkennen, welches Open-Source-Projekt hochwertig ist und welches nicht?


🤖 Sie haben Recht, dass nicht alle Open-Source-Projekte über qualitativ hochwertigen Code verfügen. Um qualitativ hochwertige Open-Source-Projekte zu identifizieren, können Sie die folgenden Faktoren berücksichtigen:


  1. Beliebtheit : Projekte mit einer großen Anzahl von Stars, Forks oder Beobachtern auf Plattformen wie GitHub weisen normalerweise darauf hin, dass das Projekt von der Community gut geschätzt wird. Auch wenn Beliebtheit keine Garantie für die Qualität des Codes ist, kann sie doch ein hilfreicher Indikator sein.


  2. Aktive Betreuer und Mitwirkende : Hochwertige Projekte haben in der Regel aktive Betreuer und eine vielfältige Gruppe von Mitwirkenden. Suchen Sie nach Projekten mit einer Historie regelmäßiger Commits, Updates und Fehlerbehebungen. Eine gesunde Anzahl von Mitwirkenden und eine aktive Community können ein Zeichen dafür sein, dass die Codebasis kontinuierlich verbessert und verfeinert wird.


  3. Klare Dokumentation : Gut dokumentierte Projekte sind oft ein Zeichen für eine gut gepflegte und qualitativ hochwertige Codebasis. Suchen Sie nach Projekten mit umfassenden README-Dateien, API-Dokumentation und Nutzungshandbüchern.


  4. Codeüberprüfungen und Diskussionen : Überprüfen Sie die Pull Requests und Issue-Diskussionen des Projekts. Zu einem gesunden Projekt gehören gründliche Codeüberprüfungen, konstruktives Feedback und aktive Diskussionen über Verbesserungen und Fehlerbehebungen.


  5. Einhaltung von Codierungsstandards : Hochwertige Projekte folgen in der Regel Codierungsstandards und Best Practices für die Programmiersprache oder das verwendete Framework. Achten Sie auf einheitliche Formatierungen, Namenskonventionen und Codeorganisation.


  6. Automatisierte Tests : Projekte mit einer robusten Suite automatisierter Tests zeigen, dass den Betreuern die Qualität des Codes am Herzen liegt und sie sicherstellen, dass die Software wie erwartet funktioniert. Suchen Sie nach Projekten mit einer hohen Testabdeckung und einer Continuous-Integration-Pipeline (CI), die bei jeder Commit- oder Pull-Anfrage Tests durchführt.


  7. Abhängigkeiten und Lizenzierung : Hochwertige Projekte sollten eine klare Liste der Abhängigkeiten sowie die entsprechenden Lizenzen haben. Dies zeigt, dass die Betreuer auf die rechtlichen und betrieblichen Aspekte des Projekts achten.


Um Ihre Suche nach hochwertigen Open-Source-Projekten zu beginnen, können Sie kuratierte Listen oder Sammlungen durchsuchen, wie z. B. Awesome Lists auf GitHub, die beliebte und angesehene Projekte in verschiedenen Bereichen zusammenfassen. Sie können sich auch Projekte ansehen, die von seriösen Organisationen oder in der Branche bekannten Entwicklern verwaltet werden.


Denken Sie daran, dass es auch bei qualitativ hochwertigen Projekten Bereiche geben kann, die verbessert werden könnten. Mit zunehmender Erfahrung entwickeln Sie ein besseres Verständnis für sauberen Code und können die Qualität verschiedener Open-Source-Projekte besser beurteilen.


🤔 Diese Antwort ist mal wieder anständig. Während Faktoren wie Projektpopularität oder gute Dokumentation nicht unbedingt einen sauberen Code garantieren, sind sie alle zusammengenommen ein anständiger Proxy – wahrscheinlich so gut wie möglich, da es nie feste Garantien gibt. Und der Rat, sich kuratierte Listen anzusehen, bietet einen vernünftigen Ausgangspunkt, obwohl sie eher ein Indikator für Beliebtheit als unbedingt für Qualität sind. Es erhebt keinen Anspruch auf Vollständigkeit, da die GitHub-Suche beispielsweise auch eine großartige Möglichkeit ist, beliebte und aktive Open-Source-Projekte zu finden. Aber wenn man bedenkt, dass das Erkennen von sauberem Code ein sehr subjektives und schwieriges Thema ist, ist diese Antwort völlig in Ordnung. Wir könnten versuchen, noch tiefer zu graben – aber ich muss die Länge dieses Beitrags unter Kontrolle halten …

Kommentieren Sie Ihren Code – klären Sie die fraglichen Aspekte.

💬 Einer der Lifehacks, die Sie mir gegeben haben, bestand darin, aussagekräftige Kommentare zu schreiben, um den Zweck und die Funktionalität meines Codes zu erklären. Können Sie das näher erläutern? Welche Kommentare halten Sie für sinnvoll? Sollte ich immer Kommentare für meinen gesamten Code schreiben? Gibt es eine gute Heuristik, wann und wie man Kommentare schreibt?


🤖 Das Schreiben aussagekräftiger Kommentare ist ein wichtiger Aspekt beim Schreiben von sauberem und wartbarem Code. Aussagekräftige Kommentare sollten zusätzliche Einblicke und Kontext liefern, die beim Lesen des Codes selbst nicht sofort erkennbar sind. Hier sind einige Richtlinien, wann und wie man Kommentare schreibt:


  1. Erklären Sie komplexen oder nicht offensichtlichen Code : Wenn ein Codeabschnitt komplex ist oder für jemanden, der mit dem Projekt nicht vertraut ist, möglicherweise schwer zu verstehen ist, kann ein Kommentar dabei helfen, die Gründe für die Implementierung zu erläutern oder einen allgemeinen Überblick über den Algorithmus zu geben.


  2. Annahmen und Einschränkungen dokumentieren : Wenn Ihr Code auf bestimmten Annahmen basiert oder Einschränkungen aufweist, ist es wichtig, diese in Kommentaren zu dokumentieren. Dies hilft, zukünftige Probleme oder Missverständnisse zu vermeiden, wenn jemand anderes (oder sogar Sie) den Code später ändert.


  3. Klären Sie den Zweck von Funktionen und Klassen : Während Funktions- und Klassennamen beschreibend sein sollten, kann ein kurzer Kommentar zusätzlichen Kontext zum Zweck und zum erwarteten Verhalten einer Funktion oder Klasse liefern.


  4. Erläutern Sie Problemumgehungen oder Hacks : Wenn Sie eine Problemumgehung oder einen Hack implementieren mussten, um ein bestimmtes Problem oder eine bestimmte Einschränkung zu beheben, dokumentieren Sie die Begründung und mögliche Nebenwirkungen in einem Kommentar. Dies hilft zukünftigen Betreuern, den Zweck der Problemumgehung zu verstehen und mögliche Verbesserungen zu berücksichtigen.


  5. Referenzieren Sie externe Ressourcen : Wenn Ihr Code auf einer bestimmten Ressource basiert, z. B. einer Forschungsarbeit, einem Algorithmus oder einer Bibliothek eines Drittanbieters, fügen Sie einen Kommentar mit einem Verweis auf diese Ressource ein. Dies hilft dabei, Kontext- und Hintergrundinformationen für andere an dem Projekt arbeitende Personen bereitzustellen.


Hier sind einige Tipps, wie Sie wirkungsvolle Kommentare schreiben:


  1. Seien Sie prägnant : Kommentare sollten kurz und prägnant sein. Vermeiden Sie es, lange Absätze zu schreiben oder Informationen zu wiederholen, die bereits aus dem Code hervorgehen.


  2. Halten Sie Kommentare auf dem neuesten Stand : Stellen Sie sicher, dass Ihre Kommentare relevant bleiben, während sich Ihr Code weiterentwickelt. Aktualisieren Sie Kommentare, wenn Sie den Code ändern, sodass sie den aktuellen Status des Codes genau wiedergeben.


  3. Vermeiden Sie es, das Offensichtliche zu sagen : Schreiben Sie keine Kommentare, die lediglich wiederholen, was der Code tut. Konzentrieren Sie sich auf die Bereitstellung von Kontext, Begründungen oder Erklärungen, die aus dem Code selbst nicht sofort ersichtlich sind.


Sie müssen nicht für jede einzelne Codezeile oder jeden einzelnen Codeblock Kommentare schreiben. Konzentrieren Sie sich stattdessen darauf, dort zu kommentieren, wo es einen Mehrwert bietet und zum besseren Verständnis des Codes beiträgt. Denken Sie daran, dass gut geschriebener Code größtenteils selbsterklärend sein sollte. Geben Sie daher dem Schreiben von klarem und aussagekräftigem Code Vorrang und ergänzen Sie ihn bei Bedarf mit Kommentaren.


🤔 Das ist eine wirklich gute Antwort. Während der ursprüngliche Tipp mehrdeutig war und Raum für Interpretationen ließ, die möglicherweise zu übermäßigen Kommentaren führen könnten, stellt diese Ausarbeitung den Sachverhalt gut klar und trifft den Punkt zu 100 %. Genau so würde ich auch beim Schreiben von Kommentaren raten.

Abschluss.

Hier und da gab es ein paar kleine Fehltritte, aber insgesamt sind die Ergebnisse überraschend gut.


Einige Antworten waren zu offensichtlich, andere waren Ansichtssache, aber keine davon war eindeutig falsch und viele davon waren wirklich gut und umsetzbar. Mir gefiel auch der Umfang und die Vielfalt der Ratschläge – sie enthielten sogar einen Punkt zur Sorge um Ihre Gesundheit!


Die ersten Antworten sind oberflächlich – sie bringen nicht viel Wert, ohne durch Folgefragen mindestens ein paar Ebenen tiefer zu gehen. Aber wenn man sich an diesen Ablauf gewöhnt, geht es ganz reibungslos. Sie werden nicht von vornherein mit Unmengen an Informationen überhäuft, sondern können diese nach und nach erkunden und tiefer in die Themen eintauchen, die Sie interessieren oder die Sie nicht verstehen. Ich würde sogar sagen, dass es eher der Arbeit mit einem echten, menschlichen Mentor ähnelt als beispielsweise dem Lesen eines Buches oder dem Ansehen eines Kurses.


Die Arbeit mit ChatGPT ist mit etwas mehr Belastung verbunden als mit einem echten menschlichen Mentor. Ein Mensch kann mehr Hinweise aus Ihrem Tonfall, Ihrem Gesichtsausdruck und Ihrer Körpersprache wahrnehmen und die Diskussion proaktiver als Reaktion auf Ihr Verhalten steuern. Bei der Arbeit mit ChatGPT sind jedoch die einzigen Hinweise, die es erfassen kann, Ihre direkten Fragen – die Qualität der Erfahrung hängt also ausschließlich von Ihrer Fähigkeit ab, klare Fragen zu formulieren, und nicht von der Erfahrung oder emotionalen Intelligenz Ihres Mentors. Allerdings ist es nicht allzu schwierig zu lernen, wie man richtige Fragen stellt, und wenn Sie dies tun, können Sie dennoch viel Wert aus Ihrer Interaktion ziehen.


Für einen Anfänger könnte der schwierigere Teil darin bestehen, herauszufinden, worüber er genau fragen muss, um von oberflächlichen zu tieferen Antworten zu gelangen. Wenn Sie in einem bestimmten Bereich nicht über umfassende Fachkenntnisse verfügen, ist dies oft alles andere als offensichtlich. Dies kann jedoch gemildert werden, indem man lernt, allgemeinere „Drill-Down“-Fragen zu stellen, wie „Warum haben Sie diese Antwort gewählt?“, „Können Sie das näher erläutern?“, „Ist diese Antwort wirklich die beste?“, „ Ist das die einzig gute Antwort?“, „Was sind die Vor- und Nachteile?“, „Welche Alternativen gäbe es?“, „Gibt es weitere ähnliche Techniken?“ und so weiter. Wenn Sie gut darin sind, Fragen wie diese zu stellen, profitieren Sie auch in Ihrem Arbeitsalltag: bei der Klärung von Anforderungen, beim Brainstorming mit Ihren Teamkollegen oder sogar bei der Arbeit mit einem echten menschlichen Mentor – es ist also eine lohnende Schulung für sich.


Zusammenfassend lässt sich sagen, dass ich es nach dem, was ich bei einem so begrenzten Test beobachten kann, auf jeden Fall empfehlen würde .


Es ist kein vollständiger Ersatz für einen echten menschlichen Mentor, aber wenn Sie keinen Zugang zu einem haben, sollten Sie ChatGPT unbedingt ausprobieren. Und selbst wenn Sie einen Mentor haben, lohnt es sich dennoch, beides zu nutzen, da ChatGPT viel leichter verfügbar ist. Sie können mit ChatGPT beginnen (und es häufiger verwenden) und dann Ihren echten Mentor bitten, seine Antworten zu bewerten, sie zu vertiefen oder tiefer in schwierigere Bereiche einzutauchen, während Sie bei einfacheren Fällen bei ChatGPT bleiben.


Es kann auch von Vorteil sein, mit einem allgemeinen Überblick darüber zu beginnen, was es in einem bestimmten Bereich zu lernen gibt, um die Gesamtlage des Landes zu verstehen – und dann ChatGPT zu verwenden, um tiefer in ausgewählte Themen einzusteigen. Es gibt viele gute Ressourcen, die einen solchen Überblick bieten, wie etwa roadmap.sh oder der Leitfaden, den ich schreibe .