CLI-Tool zur Generierung von Infusionsdokumenten
Infusion ist ein Open-Source-Tool, das zur Erstellung der Dokumentation in Ihren Codedateien verwendet wird. Es verwendet das OpenAI gpt-4-Modell zum Schreiben von Kommentaren. Es war mein Projekt und ich habe es in Python geschrieben.
GitHub-Link:
https://github.com/SychAndrii/infusion
explainer.js ist ein Open-Source-Tool, das zum Erklären von Codeausschnitten in Ihren Codedateien verwendet wird. Es verwendet Groq-Modelle zum Schreiben von Kommentaren. Es war ein Projekt meines Teamkollegen @aamfahim und er hat es in Node.JS geschrieben
GitHub-Link:
https://github.com/aamfahim/explainer.js
Ich bin derzeit in einem Open-Source-Kurs am Seneca Polytechnic eingeschrieben, wo wir die Aufgabe hatten, mit einer anderen Person zusammenzuarbeiten, den Code des anderen zu überprüfen und mithilfe von GitHub-Problemen einige Verbesserungsvorschläge zu machen. Ich werde diesen Prozess beschreiben.
Art der Kommunikation
Die meisten der für beide Repositories generierten Probleme wurden durch synchrone Kommunikation per Discord-Aufruf gelöst. Danach unterhielten wir uns asynchron über Discord-Nachrichten, da es für mich schwierig war, die Einrichtung meines Projekts mithilfe von Bash-Skripten zu optimieren, und es mir unnötig erschien, meinen Teamkollegen jedes Mal anzurufen, wenn ich testen musste, ob es auf seinem Computer funktioniert. Das Testen mit Docker-Containern und dem WSL-Linux-Subsystem auf meinem Computer war nicht dasselbe wie das Testen auf Al's System und hat wichtige Fehler hervorgehoben.
Erfahrung mit der Überprüfung des Codes einer anderen Person
Bei der Überprüfung des Codes meines Teamkollegen ist mir nichts Ungewöhnliches aufgefallen, da ich viel Erfahrung mit der Node.JS-Entwicklung habe. Mir gefiel es jedoch, Probleme zu schaffen und dann sofort Lösungen dafür vorzuschlagen. Ein Problem, das wir hatten, war, dass wir keinen Weg finden konnten, es mir zu ermöglichen, die von mir erstellten Probleme mit Etiketten zu versehen. Das konnte nur Al, was ärgerlich war.
Erfahrung von jemandem, der meinen Code überprüft
Al hat viel Raum für Verbesserungen vorgeschlagen, insbesondere bei der Installation meines CLI-Tools. Als er mein Repo zum ersten Mal geforkt hat, mussten die Endbenutzer eine bestimmte Python-Version manuell installieren, was definitiv eine frustrierende Aufgabe ist. Darüber hinaus hob er andere mögliche Verbesserungen für die komfortable Nutzung eines Tools hervor, wie etwa die Einführung einer .env-Datei, damit Sie Ihren API-Schlüssel nicht jedes Mal eingeben müssen, wenn Sie das Tool starten. Ich mag es, von anderen Leuten Input zu meinem Code zu bekommen, weil es mir ermöglicht, mich als Entwickler weiterzuentwickeln, und es definitiv meine Sicht auf den Entwicklungslebenszyklus erweitert.
Probleme beim Überprüfen und Testen
Die meisten Probleme hatten wir mit meinem Tool, da Al's CLI-Programm in Node.JS geschrieben war und wir beide viel Erfahrung damit haben. Im Gegensatz dazu mögen wir beide das Python-Ökosystem nicht, daher hatten wir große Probleme bei der Interaktion damit. Als ich Al's Repository testete, stellte ich fest, dass die in seiner README-Datei geschriebenen Dokumente irreführend oder verwirrend waren, insbesondere die Modell- und API-Key-Optionen. Wir mussten den Prozess der Versuche und Irrtümer durchlaufen, um herauszufinden, welche API-Schlüssel und -Modelle von seinem Tool akzeptiert werden. Als es darum ging, mein Repository zu testen, war die Python-Version auf Al's System sehr veraltet (2.7), sodass er 3.10.6 (Version, die für die Verwendung meines Tools erforderlich ist) manuell installieren musste. Doch selbst dann hörten die Probleme nicht auf. Obwohl er es installierte, wurde es von der virtuellen Umgebung, die mein Tool mit pipenv erstellt, immer noch nicht erkannt. Danach waren wir auch frustriert darüber, bei jedem Start den für die Nutzung meines Tools erforderlichen API-Schlüssel eingeben zu müssen. Schließlich haben die README-Dokumente bei der Installation nicht geholfen. Wir haben versucht, ihnen zu folgen, bekamen aber immer wieder Fehler, die darauf zurückzuführen waren, dass einige Skripte im PATH nicht erkannt wurden. Da habe ich beschlossen, dass wir eine Art Automatisierungstool brauchen, das die gesamte Installation für Sie erledigt. Ein Gedanke, den ich hatte, war, die Anwendung zu dockerisieren, aber dann müsste ich Docker-Volumes irgendwie dem Ausgabeverzeichnis und den Eingabedateien zuordnen, die für mein Tool angegeben sind, und das würde alles doppelt komplizieren. Daher fiel mir ein, dass es sich bei vielen Paketmanagern eigentlich um Befehlszeilentools handelt. Wenn Sie sie durch Klonen eines GitHub-Repositorys installieren, müssen Sie sie durch Ausführen einer Art Bash-Setup-Skript einrichten. Das war also die Idee, die ich in die Tat umsetzen wollte. Schließlich konnten wir beide keine Möglichkeit finden, den von uns eingereichten Problemen Bezeichnungen wie „Fehler“ oder „Verbesserung“ zuzuweisen.
Von mir eingereichte Probleme
https://github.com/aamfahim/explainer.js/issues/13
https://github.com/aamfahim/explainer.js/issues/12
https://github.com/aamfahim/explainer.js/issues/11
https://github.com/aamfahim/explainer.js/issues/10
https://github.com/aamfahim/explainer.js/issues/9
Um die von mir gefundenen Probleme zusammenzufassen: Sie betrafen hauptsächlich Fälle, in denen Optionen, die in der README-Datei dieses Projekts geschrieben waren, nicht tatsächlich funktionierten oder ihre Funktionsweise irreführend beschrieben wurde.
Probleme, die in meinem Repo eingereicht wurden
https://github.com/SychAndrii/infusion/issues/11
https://github.com/SychAndrii/infusion/issues/10
https://github.com/SychAndrii/infusion/issues/9
https://github.com/SychAndrii/infusion/issues/8
Um die in meinem Repo gefundenen Probleme zusammenzufassen: Sie bezogen sich hauptsächlich auf die Benutzerfreundlichkeit meines Tools. Darüber hinaus gab es einen Fehler, als Sie meinem Tool eine Datei mit syntaktisch korrektem Quellcode übermittelten und es sie als eine Datei identifizierte, die keinen gültigen Quellcode enthielt.
Probleme, die ich beheben konnte
Ich habe alle meine Probleme behoben. Die Behebung aller Probleme dauerte weniger als 30 Minuten, aber es gab ein Problem, für dessen Behebung ich etwa 2-3 Stunden brauchte:
https://github.com/SychAndrii/infusion/issues/8
Es scheint seltsam, da eine Erweiterung der README-Datei leicht zu erreichen sein sollte, aber was der erste Vorschlag von Al erforderte, war, dass ich den Installationsprozess meines Tools komplett neu gestalten musste, was erforderte, dass ich zwei Skripte für die Installation einführte – eines für Bash und eines für Bash eine für Powershell. Das Problem, das ich die meiste Zeit nicht lösen konnte, bestand darin, dass diese Setup-Skripte zwar die erforderliche Python-Version ordnungsgemäß installierten, diese Python-Version jedoch nicht an die virtuelle Umgebung weitergegeben wurde, in die Sie vor der Verwendung meines Tools eintreten müssen. Irgendwann habe ich das aber behoben.
Was ich gelernt habe
Ich habe meine README-Kenntnisse definitiv verbessert. Die Art und Weise, wie ich Beispielverwendungen bereitgestellt habe, war für den Endbenutzer sehr verwirrend. Außerdem habe ich endlich Bash- und Powershell-Sprachen verwendet, um selbst etwas zu tun, nicht für eine Schulaufgabe, nicht weil es eine Anforderung war, sondern weil ich den Prozess der Interaktion mit meinem Tool vereinfachen wollte. Schließlich habe ich beschlossen, mich der Sprache zu stellen, die ich absolut nicht ausstehen kann – nämlich Python. Die Arbeit damit hat mir definitiv keinen Spaß gemacht, aber ich denke, es ist wichtig, es nutzen zu können, wenn man heute einen Job finden möchte, insbesondere im Hinblick auf den KI-Trend.
Das obige ist der detaillierte Inhalt vonCLI-Tool zur Generierung von Infusionsdokumenten. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Heiße KI -Werkzeuge

Undress AI Tool
Ausziehbilder kostenlos

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Clothoff.io
KI-Kleiderentferner

Video Face Swap
Tauschen Sie Gesichter in jedem Video mühelos mit unserem völlig kostenlosen KI-Gesichtstausch-Tool aus!

Heißer Artikel

Heiße Werkzeuge

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Ja, ApythonCanhavemultipleConstructorToHalternativetechnik.1.UTEFAULTARGUMENTETHED__INIT__METHODTOALLIBLEINIGIALISIALISIONISCHE Withvaryingnumbersofparameter

Um mit Quantum Machine Learning (QML) zu beginnen, ist das bevorzugte Tool Python und Bibliotheken wie Pennylane, Qiskit, TensorFlowquantum oder Pytorchquantum müssen installiert werden. Machen Sie sich dann mit dem Prozess vertraut, indem Sie Beispiele ausführen, z. B. Pennylane zum Aufbau eines Quanten neuronalen Netzwerks. Implementieren Sie das Modell dann gemäß den Schritten der Datensatzvorbereitung, der Datencodierung, der Erstellung parametrischer Quantenschaltungen, klassisches Optimierer -Training usw.; Im tatsächlichen Kampf sollten Sie es vermeiden, komplexe Modelle von Anfang an zu verfolgen, Hardwarebeschränkungen zu beachten, hybride Modellstrukturen einzusetzen und kontinuierlich auf die neuesten Dokumente und offiziellen Dokumente zu verweisen, um die Entwicklung zu verfolgen.

Der Schlüssel zur Verwendung von Python zum Aufrufen von Webapi, um Daten zu erhalten, liegt darin, die grundlegenden Prozesse und gemeinsamen Tools zu beherrschen. 1. Die Verwendung von Anfragen zum Einlösen von HTTP -Anforderungen ist der direkteste Weg. Verwenden Sie die GET -Methode, um die Antwort zu erhalten und JSON () zu verwenden, um die Daten zu analysieren. 2. Für APIs, die Authentifizierung benötigen, können Sie Token oder Schlüssel über Header hinzufügen. 3.. Sie müssen den Antwortstatuscode überprüfen. Es wird empfohlen, die Antwort zu verwenden. 4. Mit Blick auf die Paging -Schnittstelle können Sie nacheinander verschiedene Seiten anfordern und Verzögerungen hinzufügen, um Frequenzbeschränkungen zu vermeiden. 5. Bei der Verarbeitung der zurückgegebenen JSON -Daten müssen Sie Informationen gemäß der Struktur extrahieren, und komplexe Daten können in Daten konvertiert werden

Python's OnelineIgelse ist ein ternärer Operator, der als Xifconditionelsey geschrieben wurde und zur Vereinfachung des einfachen bedingten Urteils verwendet wird. Es kann für die variable Zuordnung verwendet werden, wie z. B. Status = "Erwachsener" iFage> = 18LSE "minor"; Es kann auch verwendet werden, um Ergebnisse direkt in Funktionen wie Defget_Status (Alter) zurückzugeben: Rückgabe "Erwachsener" iFage> = 18LSE "Minor"; Obwohl eine verschachtelte Verwendung unterstützt wird, wie z. B. Ergebnis = "a" i i

Dieser Artikel hat mehrere "Fertig" -Projekt-Websites von Python und "Blockbuster" -Portalen "Blockbuster" für Sie ausgewählt. Egal, ob Sie nach Entwicklungsinspiration suchen, den Quellcode auf Master-Ebene beobachten und lernen oder Ihre praktischen Fähigkeiten systematisch verbessern, diese Plattformen sind nicht zu übersehen und können Ihnen helfen, schnell zu einem Python-Meister zu werden.

Der Schlüssel zum Schreiben von Pythons IFelse -Anweisungen liegt darin, die logische Struktur und Details zu verstehen. 1. Die Infrastruktur besteht darin, einen Code auszuführen, wenn die Bedingungen festgelegt werden. Andernfalls ist der Anliesiger ausgeführt, sonst ist optional. 2. Multi-Konditionsurteil wird mit ELIF umgesetzt und nacheinander ausgeführt und gestoppt, sobald es erfüllt ist. 3.. Verschachtelt, wenn es für ein weiteres Unterteilungsurteil verwendet wird, wird empfohlen, zwei Schichten nicht zu überschreiten. 4. Ein ternärer Ausdruck kann verwendet werden, um einfache IFelse in einem einfachen Szenario zu ersetzen. Nur wenn wir auf Einklebung, bedingte Reihenfolge und logische Integrität achten können, können wir klare und stabile Beurteilungscodes schreiben.

Verwenden Sie die Jointplot von Seeborn, um die Beziehung und Verteilung zwischen zwei Variablen schnell zu visualisieren. 2. Das grundlegende Streudiagramm wird durch sns.jointplot (data = tips, x = "total_bill", y = "tip", sort = "scatter") implementiert, das Zentrum ist ein Streudiagramm und das Histogramm wird auf der oberen und unteren und rechten Seite angezeigt. 3. Fügen Sie Regressionslinien und Dichteinformationen zu einer Art "Reg" hinzu und kombinieren Sie Marginal_KWS, um den Edge -Plot -Stil festzulegen. 4. Wenn das Datenvolumen groß ist, wird empfohlen, "Hex" zu verwenden,

Verwenden Sie Subprozess.run (), um die Befehle von Shell sicher auszuführen und die Ausgabe zu erfassen. Es wird empfohlen, Parameter in Listen zu übergeben, um Einspritzrisiken zu vermeiden. 2. Wenn die Shell -Eigenschaften erforderlich sind, können Sie Shell = True einstellen, aber achten Sie auf die Befehlsinjektion. 3. verwenden subprocess.popen, um die Echtzeit-Ausgangsverarbeitung zu realisieren. 4. Setzen Sie check = true, um Ausnahmen zu werfen, wenn der Befehl fehlschlägt. 5. Sie können direkt Ketten anrufen, um die Ausgabe in einem einfachen Szenario zu erhalten. Sie sollten Subprozess vorrangig machen. Die obigen Methoden überschreiben die Kernverwendung der Ausführung von Shell -Befehlen in Python.
