Kommentar zu immer doppelt

  • Ausgelagert aus immer doppelt


    Herrlich,

    nachdem sich einige trefflich über die Referenzierung von Speicherzellen und deren korrekten Bezeichnungen gestritten haben, hat der TO den doppelten Aufruf der Funktion einfach entfernt. :bravo2:

    Die üblichen Vorschläge auf Python3 upzudaten, hätten das Problem zwar nicht gelöst, haben aber trotzdem zur Erheiterung beigetragen. :)

    Ich persönlich würde den Aufwand eines Updates bei einem >1000 Zeilen Script scheuen, gerade wenn die Hardware nicht potent genug ist, um unter einem neueren OS, welche Python3.x unterstützen, zu laufen.

    Grüße an alle

    Einmal editiert, zuletzt von hyle (31. März 2023 um 21:40)

  • Herrlich

    Passt auch sehr gut du zu deinem Beitrag :rolleyes:

    Was jeder einzelne aus den Ratschlägen macht ist auch sein Ding und du persönlich kannst auch noch die älteste Software nutzen die du findest. Aber hier in der Öffentlichkeit ist es sehr wohl wichtig auf solche Updates hinzuweisen. Das gilt auch für Bezeichnungen und ist letztendlich auch der Sinn einer Sprache. Wenn jeder alles so nennt wie er gerade lustig ist, dann könnten wir auch wieder schreiend und gröllend durch die Welt rennen.

    Nur weil viel Mist im Netz steht, heißt das nicht, dass man das so fortführen muss.

    🎧 With the music execution and the talk of revolution, it bleeds in me and it goes 🎧

  • hat der TO den doppelten Aufruf der Funktion einfach entfernt.

    Den gab es hier im Forum nie.

    gerade wenn die Hardware nicht potent genug ist, um unter einem neueren OS, welche Python3.x unterstützen, zu laufen.

    Python3 läuft auf allen RPi mit allen Betriebssystemen und das schon seit Wheezy, also dem ersten Raspbian. Da muss man kein neues OS installieren. :shy:

  • Den gab es hier im Forum nie.

    Ich denke Du beziehst Dich dabei darauf dass der TO nicht die ganzen 1000 Zeilen Code gezeigt hat. Ansonsten waere das vermutlich entdeckt worden und es haette keine laengliche Diskussion gegeben :) Allerdings sind 1000 Zeilen Code schon ne Menge Code zu lesen :huh:

  • Die üblichen Vorschläge auf Python3 upzudaten, hätten das Problem zwar nicht gelöst, haben aber trotzdem zur Erheiterung beigetragen. :)

    Ich persönlich würde den Aufwand eines Updates bei einem >1000 Zeilen Script scheuen,

    Vor allem... Python 3 hat Features die es in Python 2 nicht gibt und ich wette mit dir, um einen Döner deiner Wahl, das man diese 1000 Zeilen Code sicher auch reduzieren kann.

    Alles andere ist nur faule Ausrede. Zumal es hier auch Leute gibt die helfen. :baeh2:

  • Ich denke Du beziehst Dich dabei darauf dass der TO nicht die ganzen 1000 Zeilen Code gezeigt hat.

    Nein, ich beziehe mich auf den Beispielcode, der hier im Forum gezeigt und von ein paar Kommentaren, die nachträglich eingefügt wurden mal abgesehen, nicht verändert wurde. ;)

  • also verstehe ich Dich schon rcihtig

    Ok, dann sind wir uns ja einig! :D

    Ich mache hier dem TO ruediger keinen Vorwurf! ;) Naja, abgesehen davon, dass er meine Frage nicht beantwortet hatte. ^^

    Btw. Beispielcode kann man machen, wenn man ein Verständnisproblem hat usw. Bei einer Fehlersuche ist es aber immer besser entsprechende Auszüge aus dem Originalcode oder das ganze Skript zu zeigen und ggf. die Fehlermeldung dazu.

    1000 Zeilen zu lesen sind auch kein Problem wenn der Programmierer sich halbwegs an PEP8 gehalten hat. D.h. u.a. Klassen-, Funktions- und Variablennamen sollten selbstsprechend sein, also so heißen wie das was diesen machen oder sind. Dann versteht man auch relativ leicht, was an welcher Stelle passieren soll.

  • Dunkel kann ich mich noch erinnern dass ich auch mal so etwas bei mir hatte. Allerdings nicht in Python sondern in C :blush:


    Ich weiss jetzt nicht ob es auf den TE zutrifft aber als Hobbyprogrammierer wuerde ich meinen Code auch nicht so vollstaendig zeigen wollen denn die Profis fangen dann oftmals an den Code auseinanderzunehmen obwohl man froh ist dass der Code das tut was er soll und keine Lust und/oder Zeit hat "der Schoenheit" wegen den Code umzuschreiben.

  • Es geht ja nicht um Schönheit, sondern um Lesbarkeit und damit darum den Code auch noch nach ein paar Jahren verstehen zu können. Das ist dasselbe wie "Schönschrift" in der Unterstufe der Schule, damit man seinen Schrub selbst (oder andere) später leicht lesen können.

    als Hobbyprogrammierer wuerde ich meinen Code auch nicht so vollstaendig zeigen wollen denn die Profis fangen dann oftmals an den Code auseinanderzunehmen

    Das sehe ich eher als Gewinn, weil Profis das Wissen haben, wie man seinen Code optimieren kann. Wann hat man schon gelegenheit kostenlose Hilfe von Profis zu bekommen, wenn nicht in Foren. Man kann dabei nur lernen und das beste für sich rausziehen! ;)

  • Das sehe ich eher als Gewinn, weil Profis das Wissen haben, wie man seinen Code optimieren kann. Wann hat man schon gelegenheit kostenlose Hilfe von Profis zu bekommen, wenn nicht in Foren. Man kann dabei nur lernen und das beste für sich rausziehen! ;)

    Ich stimme Dir absolut zu.

    Aber wir sollten unterscheiden zwischen

    1) Hobbyprogrammieren die Zeit und Lust haben zu lernen

    und

    2) Hobbyprogrammierern die eben nicht diese Zeit und Lust haben sondern einfach froh sind dass sie ein Programm geschrieben haben was tut was es soll.

  • was tut was es soll

    Wenn es das aber nicht macht, kommen die Fragen. Und dann durch ein Beispiel statt dem originalen Code mit einem XY-Problem wie hier. ;)


    Hab das mal hierher ausgelagert.

    - Der Weg zur Erkenntnis: Wie frage ich nach Hilfe? | Zur Erinnerung: Forenregeln | Quatsch und Tratsch: Plauderecke -

    3 Mal editiert, zuletzt von hyle (31. März 2023 um 21:42) aus folgendem Grund: Ein Beitrag von hyle mit diesem Beitrag zusammengefügt.

  • Der TE hat seinen Code wie es auch im professionellen Bereich bei Bug Reports ueblich ist von 1000 Zeilen auf 20 Zeilen reduziert. Das finde ich auch sehr gut. Das sind 980 Zeilen weniger die man lesen muss. Dass dabei die eigentliche Fehlerquelle verloren ging ist dumm gelaufen :(

  • Den gab es hier im Forum nie.

    Python3 läuft auf allen RPi mit allen Betriebssystemen und das schon seit Wheezy, also dem ersten Raspbian. Da muss man kein neues OS installieren. :shy:

    Moin,

    die ganze Wahrheit ist, dass es z.B. für Wheezy offiziell nur bis Python 3.4 Pakete gibt. Deswegen mein Hinweis.

    Ich habe jetzt auch keine Lust, die gesamte Versionshistorie auszurollen. Das würde niemanden helfen.

  • Also, die 1000 Zeilen hätten nichts genutzt. Fühler abfragen Kurve berechnen usw. hatte mit dem Problem nichts zu tun. Es ist ein "produktives" System und ich habe schon geschrieben, dass es sich schon Jahre um die Fernwärmeübergabestation kümmert. Im Winter werde ich das bestimmt nicht anfassen nur weil die Umstellung auf Python 3 akademisch angemessen ist.
    Ich habe das auch schon mal durchlaufen lassen und es betrifft nur die paar Print Aufrufe die jetzt ja eine Funktion sind. Diese Print Ausgaben sind nur bei Wartung interessant da im Normalbetrieb auf ein LCD ausgegeben wird und eine HTML Seite für einen alten Kindl. Der ist für die Einstellungen.

    Wetten, dann hätte es wieder die Hinweise auf mit Datenbank wäre alles besser gegeben. Hatte ich schon, war sehr langsam weil der Pi 2 u.A. auch wenig Speicher hat.

    Wenn ich das mal erneuere wird das auch aktuell aufgesetzt. Die Relais sind noch direkt an den GPIO sollte auch schon mal über I2C um Verdrahtung zu sparen.

    Außerdem. meinen Fehler habe ich doch aufgezeigt, nichts nachträglich vertuscht.

    Den Tipp mit dem Dateizugriff habe ich schon eingepflegt, greift letztlich auch auf "open" zu aber spart eine Zeile je Datei. Vorschläge die es vereinfachen nehme ich gerne mit.

    Das mit "find" hat sich nach verschiedenen Varianten durchgesetzt. Einfach, Effektiv und noch nach 2 Jahren, wenn man wieder drauf schaut zu verstehen.

    Es gibt immer elegantere für Programmierer bessere Lösungen, Kurzschriften usw.. Bei mir ist es aber wichtiger, dass da auch jemand der damit nicht sein Geld verdient schnell versteht was dort passiert.

  • Wenn man 1000 Zeilen nicht zeigen will, macht es Sinn den tatsächlichen Code soweit von Teilen die nichts mit dem Problem zu tun haben zu befreien, dass man ein minimales, aber immer noch lauffähiges Programm hat, welches immer noch den Fehler enthält. Dann kann es nicht passieren, dass etwas wichtiges nicht im Beispiel steht. Es kommt sogar vor, dass man den Fehler selbst findet, wenn der in einem Teil steht den man selbst für irrelevant erachtet hat, dann aber feststellt, dass der Fehler nicht mehr auftritt, wenn man diesen Teil entfernt hat.

    Die Umstellung auf Python 3 sehe ich nicht mehr als akademisch. Die Zeit für eine Umstellung, also wo 2.x und 3.x gleichzeitig gepflegt wurden, war sehr lang, und das 2.7 nicht mehr gepflegt wird ist nun auch schon ziemlich lange. 2.7 wird auf absehbare Zeit sicher auch aus den Linux-Distributionen verschwinden. Das zu pflegen und Sicherheitslücken zu stopfen ist ja jetzt Aufgabe der Distributionen. Falls sich da kein Freiwilliger findet, der sich das ans Bein bindet, und warum sollte man das wollen, wird man auf 3.x umsteigen müssen. Besser jetzt, als wenn man da wirklich hart zu gezwungen wird, oder selber anfangen muss sich ein Python 2.7 das jahrelang nicht mehr angefasst wurde, auf einer aktuellen Distribution zu bauen.

    “Dawn, n.: The time when men of reason go to bed.” — Ambrose Bierce, “The Devil's Dictionary”

Jetzt mitmachen!

Du hast noch kein Benutzerkonto auf unserer Seite? Registriere dich kostenlos und nimm an unserer Community teil!