From: Frank Brehm Date: Mon, 18 Mar 2019 11:03:11 +0000 (+0100) Subject: Extending README.md X-Git-Tag: 0.4.1~21 X-Git-Url: https://git.uhu-banane.net/?a=commitdiff_plain;h=f13dedb8ebdb3ddce8eeb8289f30a72b6ed7642f;p=pixelpark%2Fpp-admin-tools.git Extending README.md --- diff --git a/README.md b/README.md index 4dde1a7..863db1d 100644 --- 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 + +## Stand + +18.03.2019 +