[Python-de] Fehler vor Ausführung finden

Christoph Brinkhaus C.Brinkhaus at t-online.de
Mo Jan 28 14:47:37 EST 2019


Michael S. <michaely at bigfoot.de> schrieb:

Hallo Michael!

> Hallo Leute,
> ich habe hier seit vielen Jahren einen Raspberry PI als Heizungsgregler 
> eingesetzt. Alles ist in Python umgesetzt.
> Was mich nervt, ist, dass bestimmte Programmierfehler durch Python erst 
> dann entdeckt werden, wenn die Programmausführung diesen Codeteil 
> durchläuft. Das passiert teilweise aber extrem selten oder jahrelang 
> auch mal nicht.
> Heute wieder einmal einen Fehler entdeckt, wo ich von "self.State" 
> gelesen habe, statt von "State". "self.State" gab es gar nicht, wird 
> nirgends angelegt und nie verwendet. Das war einfach falsch 
> runtergeschrieben. Offenbar analysiert Python den Code vor Ausführung 
> nicht tief genug, um sowas zu entdecken.
>
> Gibt es eine einfache Möglichkeit, den Python Code dahingehend tiefer 
> analysieren zu lassen? Jeder C-Compiler bekommt sowas ja auch hin.

Probier mal pylint aus. In dem oben beschriebenen Fall sollte 
pylint über das nicht in __init__ gelistete self.State berichten.
>
> Ich nutze Python bisher nur auf dem Raspberry PI ohne 
> Entwicklungsumgebung. Code wird per Editor geschrieben, ausgeführt dann 
> direkt in der Konsole.

Ich bin auch nur auf der Konsole und Editor unterwegs.

In vielen Fällen ist es auch nützlich, Testroutinen für
einzelne Python Dateien zu erstellen, die im
if __name__ == '__main__':
Konstrukt abgearbeitet werden. Damit habe ich mir auch vorab
die eine oder andere Überraschung erspart.

Viele Grüße,
Christoph


Mehr Informationen über die Mailingliste python-de