]> Frank Brehm's Git Trees - pixelpark/pp-admin-tools.git/commitdiff
Extending README.md
authorFrank Brehm <frank.brehm@pixelpark.com>
Mon, 18 Mar 2019 11:03:11 +0000 (12:03 +0100)
committerFrank Brehm <frank.brehm@pixelpark.com>
Mon, 18 Mar 2019 11:03:11 +0000 (12:03 +0100)
README.md

index 4dde1a7f1addbcd42491f269315b119955a6daf0..863db1dac82947bd33b37f88e5d64145e341ee6b 100644 (file)
--- a/README.md
+++ b/README.md
@@ -1,6 +1,6 @@
 # Administration tools
 
-Das ist eine Sammlung von Scripten (belibigert Programmiersprachen),
+Das ist eine Sammlung von Scripten (in beliebigen Programmiersprachen),
 die bei der Admministration von RedHat-basierten Linux-Systemen (>=7.0) helfen sollen.
 
 Dieses Repository soll später die Grundlage für ein noch zu schaffendes RPM-Paket sein,
@@ -44,4 +44,46 @@ Sie werden durch das RPM-Paket nicht mit installiert.
 Hier werden alle ausführbaren Scripte untergebracht, die nicht über das RPM-Paket installiert werden,
 sondern nur auf der Arbeitsstation des Administrators ausgeführt werden.
 
+## Programmierstil
+
+Grundsätzlich sollten alle Scripte den Kommandozeilen-Parameter **--help** bzw. **-h** kennen, damit
+der Anwender der Scripte eine Hilfe zur richtigen Anwendung des Scriptes erhält. Ausnahmen sollten
+lediglich Shell-Oneliner sein, deren Funktion und Anwendung offensichtlich ist.
+
+Nach Möglichkeit sollten die Scripte auch den Parameter *--version* kennen, um im Zweifelsfall
+schnell nachsehen zu können, mit welcher Version des Scriptes gearbeitet wird.
+
+### Shell-Scripte
+
+Shell-Scripte sollten für die Bash (>= 4.2) optimiert werden. Damit ist der Hash-Bang
+aller Shell-Scripte grundsätzlich `#!/bin/bash`.
+
+Alle Funktionen und Deklarationen, die in mehreren Scripten verwendet werden, sollten
+in eine separate Resource-Datei unterhalb von `lib/` ausgelagert werden.
+
+Globale Variablen sollten Bezeichner in Großbuchstaben erhalten, lokale Variablen in Funktionen
+sollten erstens immer mit `local` deklariert werden, und zweitens Bezeichner in Kleinbuchstaben erhalten.
+Variablen-Bezeicher in *CamelCase* sollten vermieden werden.
+
+### Python-Scripte
+
+Python-Scripte sollten grundsätzlich für **Python3** geschrieben werden, oder besser noch, um eine
+gewisse Zukunftsfähigkeit zu erhalten, für Python >= 3.6. Eine Kompatibilität zu *Python2* sollte nur
+hergestellt werden, wenn der Aufwand dafür vertretbar ist.
+
+Zusätzliche externe Python-Module (wie pytz, requests usw.) sollten nach Möglichkeit über vorhandene
+Betriebssystem-Pakete installiert werden (die dann in die Abhängigkeiten des RPM-Paketes reinwandern).
+Die Installation von zusätzlichen Modulen mittels pip im System sollte unbedingt vermieden werden.
+
+Wenn doch Module verwendet werden müssen, für die es kein Betriebssystem-Paket gibt, dann muss ein
+Virtual Environment für Python eingerichtet und verwendet werden.
+
+## Autor
+
+Frank Brehm <frank.brehm@pixelpark.com>
+
+## Stand
+
+18.03.2019
+