sauberer Programmierstil

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
Hakan
User
Beiträge: 38
Registriert: Mittwoch 8. Februar 2017, 12:13

Hallo liebes Forum,

mir ist aufgefallen dass es oft starke Kritik gibt zum Programmierstil der Fragenden zumindest bei mir ist es ja oft der Fall. Nun stelle ich mir die Frage..was kennzeichnet denn einen guten Programmierstil? Auf welche Merkmale sollte man achten? Und diese Fragen stell ich auch an euch weiter. Mir ging es hauptsächlich darum, dass die Funktionen funktionieren und die Skripte flüssig laufen :D. Jedoch wenn man dann nicht weiter kommt und sein Skript hochladet kommt erstmal der shitstorm :lol: .
Genannt wurden bis jetzt: - Auf Einrückungen achten (ich rücke mit Tab ein, ist das Falsch?)
- verständliche Namen für die Funktionen
- Global variablen vermeiden (warum eigentlich?)
- pep8 beherzigen

Hat jemand noch weite Anmerkungen zum Thema "sauberer Programmierstil" dann freue ich mich über eure Beiträge!! Beispiele sind auch herzlich Willkommen!!

MFG euer Hakan
Benutzeravatar
kbr
User
Beiträge: 1487
Registriert: Mittwoch 15. Oktober 2008, 09:27

@Hakan: Ein Shitstorm schaut anders aus — das hier war bislang rau, aber herzlich.

Zum Stil:

- Auf Einrückungen achten (ich rücke mit Tab ein, ist das Falsch?)
Die kurze Antwort: ja, das ist falsch. Nimm vier spaces statt ein tab. Immer.

- verständliche Namen für die Funktionen
Diese sollen beschreiben was die Funktion tut. Ist manchmal gar nicht so einfach einen beschreibenden Namen zu finden. Findest Du keinen, ist die Funktion möglicherweise überflüssig.

- Global variablen vermeiden (warum eigentlich?)
Wegen Seiteneffekten. Gilt nicht nur für Python.

- pep8 beherzigen
Wichtig, wenn andere Deinen Code lesen und verstehen wollen/sollen.

Diese vier Punkte wären schon mal ein guter Anfang.
Benutzeravatar
noisefloor
User
Beiträge: 3856
Registriert: Mittwoch 17. Oktober 2007, 21:40
Wohnort: WW
Kontaktdaten:

Hallo,

Einrückung: 4 Leerzeichen pro Einrückungsebene ist der empfohlene Standard unter Python. Die meisten Editoren kann man so konfigurieren, dass 1x Tab drücken 4 Leerzeichen einfügt.

Namen: aussagekräfitge Namen und mit einer Schreibweise gem. PEP8 machen den Quellcode (für Aussenstehende) deutlich besser lesbar. Was auch hier im Forum ungemein hilft, wenn man Hilfe sucht.

Damit wären IMHO auch die beiden wichtigsten Punkte aus der PEP8 erfüllt.

Bzgl. `global` am besten vergessen, dass es das überhaupt gibt. Was zugegebener Maßen beim Programmieren mit dem Raspi schwierig ist, weil es dummerweise relative viele (schlechte) Tutorials und Blogeinträge im Netz gibt, die bei Raspi Python-Programmen `global` verwenden.

Auch noch zum Raspi: sehr sehr viele Tutorials verwenden das RPi.GPIO Modul, es gibt aber inzwischen für einigen Aufgaben bessere Module wie gpiozero oder pigpio.

Gruß, noisefloor
Antworten