EN | DE

Coding mit Stil

Programmierstil

Grundlegendes

  • Es sollte immer die englische Sprache verwendet werden, sei es für Variablennamen, Erklärungen, Meldungen fürs Logfile oder auch der Ausgabe von Plugins.
  • Verwende keine Hard-Tabs, sondern immer Soft-Tabs mit einer Länge von 4 Leerzeichen.
  • Für die Einrückung sollten immer 4 Leerzeichen (1 Soft-Tab) verwendet werden.
  • Halte den Codingstyle der Programmiersprache bei, welche verwendet wird, jedoch unter Beachtung der oberen Punkte.

Perl

Sollte die Programmiersprache Perl verwendet werden, so finden Sie hier einen Codingstyle: Perlstyle

Verwende kein CamelCase:

my $someVariableThatContainsData =
    someSubroutineThatProcessDataAndReturnsItBack( $someAwfulVariable );

Verwende snake_case, denn das ist deutlich lesbarer:

my $some_variable_that_contains_data =
    some_subroutine_that_process_data_and_returns_it_back( $some_awful_variable );

Verhindere unnötiges Zeichenrauschen. Schreib lesbar. Statt

if(ref($data) eq "HASH")
{

schreib es so:

if (ref $data eq "HASH") {

oder statt

my %hash = ("foo" => 1, "bar" => 2, "baz" => 3);

geht es auch so:

my %hash = (foo => 1, bar => 2, baz => 3);

Noch ein paar schlechte Beispiele:

foreach my $var (qw(a b c)) {

$var =~ s/\/\/a\/\//b/g;

my $var = join(",",$a,$b,@c,"and this");

open(FH,">$foo") or die $!;

So geht es lesbarer

foreach my $var (qw/a b c/) {

$var =~ s!//a//!b!g;

$var = join(",", $a, $b, @c, "and this");

open my $fh, ">", $foo or die $!;

Bitte lokalisiere Variablen mit my!

Der Bloonix Code

Wenn Sie in den Code von Bloonix blicken, dann werden Sie sicherlich Codestellen finden, die nicht optimal sind. Wie das in vielen Softwareprojekten der Fall ist, gibt es oft Code, der schon lange existiert und gewachsen ist. Oder es gibt Funktionen/Methoden, die man mal eben um ein paar Zeilen erweitert, ohne auf die Länge der Funktion/Methode zu achten.

Mit der Zeit werden auch diese Codestellen überarbeitet... es ist halt immer eine Frage der Zeit :-)

Über Bloonix - Über Bloonix | Über Bloonix - Lizenzen | Über Bloonix - Wie funktioniert Bloonix | Über Bloonix - Feature Liste | Über Bloonix - Plugins | Über Bloonix - Systemanforderungen | Sicherheit - Allgemein | Sicherheit - Agent und Satellit | Installation - Wichtige Information vorab | Installation - Repositories | Installation - Elasticsearch | Installation - PostgreSQL | Installation - MySQL/MariaDB | Installation - Nginx | Installation - Bloonix-WebGUI | Installation - Bloonix-Server | Installation - Bloonix-Plugins | Installation - Bloonix-Agent | Installation - Bloonix-WTRM | Installation - Manuelle Installation | Installation - Quick Guide für CentOS 7 und PostgreSQL | Installation - Quick Guide für CentOS 7 und MariaDB | Installation - Quick Guide für Debian 8 und MariaDB | Konfiguration - Allgemeines | Konfiguration - Bloonix-WebGUI | Konfiguration - Bloonix-Server | Konfiguration - Bloonix-Service-Checker | Konfiguration - Bloonix-Agent | Konfiguration - Skripte und Cronjobs | HowTos - Plugins entwickeln | HowTos - Coding mit Stil | HowTos - Dokumentation auf Bloonix.org | HowTos - Verteilte Überwachung mit dem Bloonix-Satelliten | HowTos - Automatische Registrierung von Hosts | FAQ - Wie überwacht Bloonix Hosts und Services | WebGUI - Die Bloonix-WebGUI | WebGUI - Commpanies und wie diese funktionieren | WebGUI - Einen neuen Host anlegen | WebGUI - Host Parameter im Detail | WebGUI - Host Variablen | WebGUI - Host Templates | WebGUI - Klassen von Hosts | WebGUI - Einen neuen Service anlegen | WebGUI - Service Parameter im Detail | WebGUI - Host-Alive-Checks | WebGUI - Web-Transactions | WebGUI - Abhängigkeiten | WebGUI - Geplante Wartungsarbeiten | WebGUI - Kontakte und Benachrichtigungen | WebGUI - Benutzer- und Gruppenverwaltung | WebGUI - Eigene Charts erstellen | WebGUI - Notification Screen | WebGUI - Die Bloonix JSON API | WebGUI - Den Bloonix-Agenten installieren | WebGUI - Den Bloonix-Agenten konfigurieren