Autor Thema: use PBP or croak; Perl Best Practices - Intro  (Gelesen 1815 mal)

Offline RichardCZ

  • Tester
  • Sr. Member
  • ****
  • Beiträge: 597
  • WHIP! HoBo war gestern.
    • Experimenteller FHEM Fork
use PBP or croak; Perl Best Practices - Intro
« am: 25 März 2020, 16:30:14 »
Es gibt da ein Buch namens "Perl Best Practices" (fortan nur noch PBP), anno domini 2005, 2009 2nd ed., geschrieben von Damian Conway.
https://en.wikipedia.org/wiki/Perl_Best_Practices
http://shop.oreilly.com/product/9780596001735.do

Das Buch ist heute immer noch zu 80+% aktuell und die darin vorgeschlagenen, erklärten und ausführlich begründeten(!) Vorgehensweisen bei der Perl Programmierung erlauben es einen Code zu schreiben, der mindestens um 2-3 qualitative Größenordnungen über dem liegt, was derzeit in FHEM los ist.

Ich empfehle jedem, der es halbwegs ernst meint sauberen Perl Code zu schreiben, da mal reinzuschauen bzw. es als Nachschlagewerk zu benutzen. Man könnte es sich zwar kaufen, aber es geistern genügend PDFs im Internet rum, sogar in Deutscher Sprache (ich empfehle aber dringend die englische Version - soweit möglich).

Ich habe hier bereits sowas gehört wie "Ein 15 Jahre altes dogmatisches Buch..."

Dogma
BILDUNGSSPRACHLICH•OFT ABWERTEND
den Anspruch der absoluten Gültigkeit, Wahrheit erhebende Aussage, Lehrmeinung


Dogmatisch ist die Bibel. PBP ist nicht dogmatisch (siehe oben "ausführlich begründet"). Aber ja, hier in der Perl Ecke ist PBP "Die Bibel".
Von den 256 Themen dort, sind über 200 immer noch absolut relevant. Oftmals bin ich heute noch hinsichtlich ihrer zeitlosen Aussagekraft fasziniert.

Es ist nicht mein Job hier das Buch zu rezitieren, oder irgendwelche Punkte darin zu "verteidigen". Im Zweifelsfall sage ich nur "PBP, Seite 73-79",
denn das ist die Begründung.

Von den 200+ immer noch relevanten Punkten sind vielleicht 20-30 für uns absolut relevant, dringend und bedingungslos zutreffend. Die werde ich hier vorstellen. Natürlich sind auch diese nicht "Pflicht". Genau genommen gibt es sowas wie "Pflicht" bei einem OSS Projekt wie FHEM nicht.

Aber ich glaube, dass wir relativ bald eine sich vergrößernde Kluft sehen werden zwischen Modulen, die nach diesen Regeln gewartet werden und "dem Rest".
Witty House Infrastructure Processor (WHIP) is a modern and
comprehensive full-stack smart home framework for the 21st century.

Offline RichardCZ

  • Tester
  • Sr. Member
  • ****
  • Beiträge: 597
  • WHIP! HoBo war gestern.
    • Experimenteller FHEM Fork
Antw:use PBP or croak; Perl Best Practices - Intro
« Antwort #1 am: 25 März 2020, 16:34:14 »
Und wer richtig modern modern sein will, der kann das "10-Tage freie Nutzung" Angebot von O'Reilly annehmen (nur Email wird gebraucht, keine Kreditkarte oder ähnlicher Schei*)
und sich https://learning.oreilly.com/videos/modern-perl-best/9781491910719 ansehen.

Das ist ein "Modern Perl best practices" Video - 6 Stunden - vom gleichen Autor. Stand 2014.

Da sind wir aber noch nicht, weil der Tag, an dem in FHEM

use Moo;

Standard wird, bedeutet, dass mein Job hier getan ist.


edit:

Nach genauerer Betrachtung des Video-Intro, kann ich das Video doch uneingeschränkt empfehlen (für Englischsprachge) auch für Leute die das Buch noch nicht kennen. Conway arbeitet präzise heraus worum es bei PBP geht. Das ist mehr als eine Formatierungsregel hier oder da.

Es geht darum sich ein Arsenal an Vorgehensweisen anzugewöhnen um robusten, effizienten, vor allem aber wartbaren Code zu schreiben.

"Optimiere nicht das Schreiben von Perl Code, sondern das Lesen." - und er erklärt auch genau warum.
« Letzte Änderung: 26 März 2020, 07:19:29 von RichardCZ »
Witty House Infrastructure Processor (WHIP) is a modern and
comprehensive full-stack smart home framework for the 21st century.
Gefällt mir Gefällt mir x 2 Liste anzeigen

Offline justme1968

  • Developer
  • Hero Member
  • ****
  • Beiträge: 20810
Antw:use PBP or croak; Perl Best Practices - Intro
« Antwort #2 am: 26 März 2020, 07:39:06 »
schon lustig das du die bibel als vergleich heranziehst wo deine PBP X-Y nicht anders aussehen als ein 2.Mose 20:3 oder andere bibel verweise und genau so verwendet werden. als erleuchtung der eingeweihten die andere sowieso nicht verstehen. das sind sie nicht und sie werden auch durch die x-te wiederholung nicht richtiger wenn sie sachlich falsch sind.
FHEM5.4,DS1512+,2xCULv3,DS9490R,HMLAN,2xRasPi
CUL_HM:HM-LC-Bl1PBU-FM,HM-LC-Sw1PBU-FM,HM-SEC-MDIR,HM-SEC-RHS
HUEBridge,HUEDevice:LCT001,LLC001,LLC006,LWL001
OWDevice:DS1420,DS18B20,DS2406,DS2423
FS20:fs20as4,fs20bs,fs20di
AKCP:THS01,WS15
CUL_WS:S300TH

Offline RichardCZ

  • Tester
  • Sr. Member
  • ****
  • Beiträge: 597
  • WHIP! HoBo war gestern.
    • Experimenteller FHEM Fork
Antw:use PBP or croak; Perl Best Practices - Intro
« Antwort #3 am: 26 März 2020, 09:12:30 »
schon lustig das du die bibel als vergleich heranziehst wo deine PBP X-Y nicht anders aussehen als ein 2.Mose 20:3 oder andere bibel verweise und genau so verwendet werden. als erleuchtung der eingeweihten die andere sowieso nicht verstehen. das sind sie nicht und sie werden auch durch die x-te wiederholung nicht richtiger wenn sie sachlich falsch sind.

Ja so ist er - mein Humor.
Witty House Infrastructure Processor (WHIP) is a modern and
comprehensive full-stack smart home framework for the 21st century.

 

decade-submarginal