Programmieren mit KI Unterstützung

  • Hallo.

    Ich habe ein Browsergame in php/css/html/js geschrieben.

    • Es funktioniert recht ok, aber der Code enthält viel zu viel doppelte Funktionen auf unterschiedlichen html/php Saiten
    • viele längst nicht mehr benötigte css Klassen
    • vermutlich auch ein paar unsichere Eingabefelder
    • vermutlich schlechten Code der einfacher/ sicherer sein könnte

    meine Frage:

    wie gehe ich zb. Bei ChatGPT vor, dass er mir den Code prüft/verbessert/aktualisiert?

    Ich bitte um sehr detaillierte Tipps, da ich eine Behinderung besitze die mir häufig beim verstehen Probleme macht.

    Vielen Dank und ich hoffe jemand hat Geduld und kann mir hier wirklich weiterhelfen damit ich das Spiel aufs nächste Level bekomme.

  • Ich bezweifle das da ChatGPT geeignet ist. Da müsstest du Funktion um Funktion rein copy&pasten damit es dem Kontext versteht.

    Ich würde da eher zu GitHub Copilot greife. Eine KI die direkt in deinem Code Editor läuft z.b Visual Studio Code. Der hat dann auch integrierten Chat und dort kannst du dann 1:1 die Fragen stellen die du hier stellst - und das ding analysiert dann dein projekt und macht entsprechende Vorschläge.

    --
    Ciao!

    Linux Nutzer seit über 20 Jahren. I ❤️ Freedom!

    Offizieller Proton-Botschafter aus der Schweiz 🇨🇭 😅

    Meine Haupt-Distribution ist Ubuntu.

    Mein Blog: https://rueegger.me

    Wer meinen sinnlosen Gedanken folgen möchte, kann dies gerne auf Mastodon tun: https://swiss.social/@srueegger

  • Hier wird das ausführlich erklärt und beschrieben, einfach und für jeden nachvollziehbar:


    Use GitHub Copilot to enhance your coding with AI
    Enhance your coding with AI-powered suggestions from GitHub Copilot in Visual Studio Code.
    code.visualstudio.com


    Man kann über Microsoft sagen was man will, aber in Puncto Dokumentation sind die oft beispielhaft.

  • kim88 Die Beschreibung Deiner Arbeitsweise mit KI-Unterstützung fand ich sehr interessant. Als Laie frage ich mich, ob nicht die Geläufigkeit bestimmter Funktionalitäten nachlässt, wenn man ständig die Umsetzung der KI-überlässt. Wird man durch diese Technologie ein besserer oder ein schlechterer Programmierer?

  • Ich finde ChatGPT eigentlich ganz gut geeignet zur Fehlersuche und um Inspiration zu bekommen. Aber es ist nur geeignet für einzelne Funktionen. Und auch nur wenn man die Variablen einbezieht so wie sie heißen. Auch wenn ChatGPT einem viel abnimmt muss man (wie in meinem Fall) Python trotzdem beherrschen um die Funktion in den Rest zu integrieren.

    Work-PC: Debian 12 + Gnome | Surface Go2: Debian 12 | Server: Ubuntu Server 22.04 | Laptop: Linux Mint 21.2 |

    Raspberry Pi4s: PiOS Lite arm64 | Raspberry Pi5: Ubuntu 23.10 | Steam Deck | Auf Linux seit 2003 | Python-Jünger|

    Mein Tool um das Desktop-Erlebnis auf dem Raspberry Pi zu verbessern: PiGro - Just Click It!

  • Herr_Berg

    Entschuldige die verspätete Antwort. Ende Jahr ist beruflich bei mir immer die Hölle los - auch mit GitHub CoPilot ;)

    Mein Ursprungs-Post war ja im April und ich nutze den CoPilot auch heute noch täglich. Der hat sich so in meine Arbeitsweise integriert, dass wenn ich vor einem Texteditor ohne CoPilot sitze ihn richtig vermisse.

    Ich glaube das man weder ein "besserer" noch ein "schlechterer" Programmierer wird. Es ist am Ende einfach eine Zeitersparnis für Dinge die man tun muss aber super nervend sind.

    Als Beispiel von heute. Ich habe heute Nachmittag an einer SVG Animation gearbeitet. SVG sind Bilder die quasi gecodet sind. Im Grunde sind alle modernen Icons (wie z.b. hier im Texteditor im Forum für Fett, Kursiv, etc) SVG.

    SVG haben viele Vorteile (z.b. das sie nie unscharf sind egal wie gross oder klein das du sie darstellst) und das du jede einzelne Linie bzw geometrische Form (SVGs bestehen nur aus Linien und geometrische Formen) animieren kannst.

    Ich breche die Komplexität der Animation etwas runter. Aber in dem SVG hatte ich einen Kreis mit dem Radius von 110px, und musste den so animieren, dass der Radius 250px gross wird.

    Im SVG Code wird der Radius so definiert:

    Code
    <path id="circlePath" fill="none" d="M90,200a110,110 0 1,0 220,0a110,110 0 1,0 -220,0"/>

    Das heisst der Bereich im "d=" definiert den Kreis. Normalerweise bearbeitet man SVGs mit Programmen wie Adobe Illustrator oder z.b. Inkscape (OpenSource und Linux) und kümmert sich nicht gross um solche Brain-Fuck Werte das man dort quasi per GUI nen Kreis erstellt und das Programm im Hintergrund diese Codes schreibt.

    Wenn der Kreis aber nun auf der Webseite animiert werden muss, muss ich diese Werte im "d" dynamisch verändern können (mal grösser, mal kleiner, etc).

    Das ist ein sorry den Ausdruck Brainfuck ohne Ende. Also schreibe ich GitHub Copilot schreib mir eine Funktion wo ich quasi sagen kann "mach Radius XY" und gibt mit dann das zurück was ich bei "d=" einfügen muss.

    Das war die Antwort:

    Code
    // Funktion zur Erzeugung von Kreis-Path-Daten
    function createCirclePath(cx, cy, r) {
        return `M${cx - r},${cy} a${r},${r} 0 1,0 ${2 * r},0 a${r},${r} 0 1,0 -${2 * r},0`;
    }


    Eine Funktion die ich aufrufen und sagen kann ich brauch Radius 325px also z.b. so:

    Code
    let d = createCirclePath(200, 200, 325);

    Und e Voila bekomme ich diesen langen dummen String zurück den ich dafür brauche.

    Ja, ich hätte das selber schreiben können. Hätte wohl noch einen Blick in die Dokumentation der SVGs gebraucht, da mir die Reihenfolge der Werte im d-Attribute gerade nicht geläufig sind. Das hätte mich aber viel mehr Zeit gekostet.

    Ich habe das Problem in knapp 30 Sekunden mit einem Prompt gelöst und konnte weiter am Projekt arbeiten. Hätte ich es selber geschrieben wäre ich da wohl mit lesen der Doku eine Weile dran gewesen. Hätte ich es gegooglet, hätte ich wohl auch eine Pfannenfertige Funktion gefunden - hätte die aber für mein Projekt anpassen müssen. Kostet also auch mehr Zeit.

    Das ist das spannende an GitHub CoPilot er schreibt die das Zeug so wie du es in deinem bestehenden Projekt benötigst, da es quasi permanent dein laufendes Projekt das du offen hast analysiert.

    Klar kann man argumentieren, hätte ich es selber geschrieben und Doku gelesen wäre ich "ein besserer Programmierer" weil ich was gelernt habe. Ich arbeite nun seit über 15 Jahren mit Webseiten, seit über 7 Jahren Hauptberuflich und es ist das erste mal das ich ein Kreis innerhalb eines SVGs animieren musste (das man komplette SVGs animiert, gibt es immer wieder). Wenn ich das nun "gelernt und selber gemacht" hätte geht es min. wieder 5-6 Jahre bis so eine Aufgabe kommt - und ganz ehrlich bis dann hab ich es auch wieder vergessen und lerne es neu ;)

    Daher Nein ich glaube nicht das GitHub CoPilot oder ChatGPT mich zu einem "schlechteren Programmierer" macht. Es vereinfacht dir dumme Dinge die man hin- und wieder tun muss.

    --
    Ciao!

    Linux Nutzer seit über 20 Jahren. I ❤️ Freedom!

    Offizieller Proton-Botschafter aus der Schweiz 🇨🇭 😅

    Meine Haupt-Distribution ist Ubuntu.

    Mein Blog: https://rueegger.me

    Wer meinen sinnlosen Gedanken folgen möchte, kann dies gerne auf Mastodon tun: https://swiss.social/@srueegger

  • kim88 Danke für die ausführliche Antwort!

    Daher Nein ich glaube nicht das GitHub CoPilot oder ChatGPT mich zu einem "schlechteren Programmierer" macht. Es vereinfacht dir dumme Dinge die man hin- und wieder tun muss.

    In anderen Bereichen, zum Beispiel beim Schreiben von Artikeln mit Unterstützung von ChatGPT und Bard, gilt dasselbe, obwohl diese Werkzeuge den Arbeitsaufwand für Routineaufgaben deutlich gesenkt haben.

    Möglicherweise verlernt man das Programmieren nicht mehr, sobald man einen Punkt erreicht hat, an dem einem alle Konzepte in Fleisch und Blut übergegangen sind.

    Durch die Unterstützung von ChatGPT bei meinen Hobby-Projekten hatte ich den Eindruck, dass die schnellen Ergebnisse mich bequem und etwas ungeduldig gemacht haben.

    2 Mal editiert, zuletzt von Herr_Berg (13. Dezember 2023 um 15:27)

  • Ich könnte jetzt eine KI gut brauchen um meine Calc-Tabellen zu automatisieren ;)

    Ich stehe gerade vor einer Wand

    Externer Inhalt www.youtube.com
    Inhalte von externen Seiten werden ohne Ihre Zustimmung nicht automatisch geladen und angezeigt.
    Durch die Aktivierung der externen Inhalte erklären Sie sich damit einverstanden, dass personenbezogene Daten an Drittplattformen übermittelt werden. Mehr Informationen dazu haben wir in unserer Datenschutzerklärung zur Verfügung gestellt.

    https://www.linuxmintusers.de/index.php?PHPS…1&topic=79045.0 ;)

  • Externer Inhalt www.youtube.com
    Inhalte von externen Seiten werden ohne Ihre Zustimmung nicht automatisch geladen und angezeigt.
    Durch die Aktivierung der externen Inhalte erklären Sie sich damit einverstanden, dass personenbezogene Daten an Drittplattformen übermittelt werden. Mehr Informationen dazu haben wir in unserer Datenschutzerklärung zur Verfügung gestellt.

    https://www.linuxmintusers.de/index.php?PHPS…1&topic=79045.0 ;)

    Daran habe ich mich auch schon versucht und habe dann ein reines Python Script geschrieben welches eine csv einliesst und auch wieder ausgibt.

    #ichmussmalmächtigkacken

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!