ChatGPT für Softwareentwickler

Künstliche Intelligenzen wie ChatGPT können dazu genutzt werden, um Codevorlagen und -schnipsel automatisch zu generieren und so Zeit und Arbeitsaufwand bei der Entwicklung von Softwareanwendungen zu sparen. ChatGPT kann auch zur Fehlerbehebung und zum Debugging von Code verwendet werden, indem es mögliche Fehlerquellen analysiert und den Programmierer bei der Identifizierung von Fehlern unterstützt. Darüber hinaus kann es als Werkzeug zur Erstellung von Dokumentationen und Tutorials für Softwareanwendungen eingesetzt werden, indem es komplexe technische Informationen in eine leicht verständliche Sprache übersetzt. ChatGPT kann auch bei der Entscheidungsfindung eingesetzt werden, indem es Datenanalysen und Prognosen durchführt und somit zu einer effektiveren Entwicklung von Webseiten und Softwareanwendungen beiträgt.


Beispiel 1: Bestehenden Code von ChatGPT erweitern lassen

Eingabe

Ich habe für ein Browserspiel eine Funktion geschrieben, welche den Fall von Objekten berechnet. Diese Funktion soll erweitert werden um sicherzustellen, dass sich die Geschwindigkeit nur bist zu einem gewissen Wert erhöht und nicht unendlich. Im folgenden der Code:
applyGravity() {
    if (!this.isFalling) return;

    // Gravitationskonstante (in Pixel/s²)
    const g = 9.81 * 60;

    // Geschwindigkeit aktualisieren
    this.velocityY += g * (1 / 60);

    // Position aktualisieren
    this.y += this.velocityY * (1 / 60);

    // Kollision mit dem Boden prüfen
    if (this.y + this.radius >= canvas.height) {
      this.y = canvas.height - this.radius;
      this.isFalling = false;
    }
  }

Antwort von ChatGPT

Um sicherzustellen, dass sich die Geschwindigkeit nicht unendlich erhöht, kannst du eine Bedingung hinzufügen, die überprüft, ob die Geschwindigkeit einen bestimmten Maximalwert erreicht hat. Wenn die Geschwindigkeit diesen Wert erreicht hat, setze sie auf den Maximalwert zurück. Hier ist eine mögliche Implementierung:
applyGravity() {
if (!this.isFalling) return;

// Gravitationskonstante (in Pixel/s²)
const g = 9.81 * 60;

// Maximalgeschwindigkeit (in Pixel/s)
const maxVelocityY = 500;

// Geschwindigkeit aktualisieren
this.velocityY += g * (1 / 60);

// Geschwindigkeit auf Maximalwert begrenzen
if (this.velocityY > maxVelocityY) {
  this.velocityY = maxVelocityY;
}

// Position aktualisieren
this.y += this.velocityY * (1 / 60);

// Kollision mit dem Boden prüfen
if (this.y + this.radius >= canvas.height) {
  this.y = canvas.height - this.radius;
  this.isFalling = false;
}
}
Hier wird die Variable maxVelocityY definiert, die den Maximalwert für die Geschwindigkeit festlegt. In der Funktion wird die Geschwindigkeit aktualisiert, wie zuvor, aber dann wird eine Bedingung hinzugefügt, um sicherzustellen, dass die Geschwindigkeit den Maximalwert nicht überschreitet. Wenn die Geschwindigkeit diesen Wert erreicht, wird sie auf den Maximalwert zurückgesetzt.

Bitte beachte, dass der Wert von maxVelocityY experimentell ermittelt werden muss und je nach Spiel und Objekt unterschiedlich sein kann.

Beispiel 2: Standardstrukturen automatisiert erstellen lassen / HTML Grundgerüst

Eingabe

Bitte baue mir ein HTML Grundgerüst in dem eine externe CSS Datei namens style.css sowie eine JavaScript Datei namens script.css eingebunden ist. Im Body soll ein lorem ipsum Blindtext stehen.

Antwort von ChatGPT

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <title>Meine Webseite</title>
  <link rel="stylesheet" href="style.css">
  <script src="script.js"></script>
</head>
<body>
  <p>Lorem ipsum dolor sit amet, consectetur...</p>
</body>
</html>

Hinweis: Ich habe den Blindtext nachträglich gekürzt.


Beispiel 3: Code erklären lassen

Eingabe

Was macht der folgende Code?
const inputString = "Hallo, wie geht es dir heute?";
const wordsArray = inputString.split(/[^\wäöüß]+/).filter(word => word.length > 0);
wordsArray.sort((a, b) => a.localeCompare(b, 'de'));
wordsArray.forEach(word => console.log([word]));

Antwort von ChatGPT

Dieser Code nimmt den Eingabestring "Hallo, wie geht es dir heute?" und unterteilt ihn in einzelne Wörter. Dazu wird die split-Funktion verwendet, die den String anhand des regulären Ausdrucks /[^\wäöüß]+/ in ein Array von Wörtern aufteilt. Dieser reguläre Ausdruck passt auf alle Zeichen, die keine Buchstaben, Zahlen oder Umlaute (ä, ö, ü) oder das scharfe ß sind und trennt an diesen Stellen den Eingabestring.

Das zurückgegebene Array wird dann gefiltert, um alle leeren Wörter zu entfernen. Anschließend wird das Array alphabetisch sortiert, indem die sort-Funktion aufgerufen wird. Diese Funktion sortiert das Array, indem sie jedes Element des Arrays mit dem vorherigen Element vergleicht. Das Ergebnis ist ein Array von Wörtern, das in alphabetischer Reihenfolge sortiert ist.

Schließlich wird jedes Wort des sortierten Arrays in eine eigene Zeile ausgegeben, indem die forEach-Funktion aufgerufen wird. Dabei wird für jedes Wort des Arrays eine Funktion aufgerufen, die das Wort als Parameter erhält und es in eckige Klammern setzt und in der Konsole ausgibt.

Insgesamt gibt der Code die sortierten Wörter in der Konsole aus:
["dir"]
["es"]
["geht"]
["Hallo"]
["heute"]
["wie"]

Kommentar verfassen

Nach oben scrollen