[Python-de] My personal programming guidelines.

Hermann Riemann nospam.ng at hermann-riemann.de
Di Okt 10 02:07:26 EDT 2017


Am 09.10.2017 um 17:35 schrieb Thomas Güttler:

> seit einigen Monaten pflege ich meine programming guidelines, damit
> ich mich selbst bessere daran halte :-)

> Falls es jemanden interessiert:
> 
>     https://github.com/guettli/programming-guidelines

> Feedback ist willkommen.

2: Datenstrukturen.

struct in C ist effektiver als class in Python.
SQL etc ist im privaten Bereich bzw kleine Datenmengen
schlichtweg ineffektiv und für Programmierer unhandlich.

Datensätze speichere ich csv ähnlich ab.
Dadurch können strings "beliebig" lang sein.
( pickle wäre eine Alternative)

NULL behandele ich in Python über True False Indikatoren.

3: Dev
Chaos entsteht von alleine.
shells verwende ich in Python über os.system
wegen geringen Lernaufwands
und umgekehrt trickse ich mit symbolischen links
und bei Suche mit grep weder *~ Dateien (durch *emacs erzeugt)
noch *pyc  zu durchsuchen.

Ich verwende C, wenn es besser geht,
oder Python zu langsam bist.
Beispiel Pixelmanipulation in 2560x1600 Fenster.

Threads und Async stehen bei mir durchaus auf der Wunschliste,
wenn das Problem dazu passt.
debuggen würde dann als Ausgabe in Dateien stattfinden.

Source code generation is a stupid idea:
Ich habe den C-Preprozessor für Python erwogen.
Das # passt gut dazu.
So #include #ifdef #define ..
Allerdings geht dann die Zeilenummerierung
bei Tippfehler verloren.

Und source code generation aus Daten
ist ein KI-Traum.

CSV
Ich mag von extern gelieferte CSV_dateien.
lines=open(irgendwas.csv).readlines()
for line in lines:
    elems=line.rstrip().split(';')
    ..
Intern verende ich derartiges mit der Abweichung
dass ich Spalte 0 gerne für Steuerung verwende.

dos etc. verwende ich nicht.
Bestenfalls html-Dateien,
die ich über browser mittels durchklicken auffinden kann.

IDE:
Irgendein Editor ( meist emacs) und Kommandooberfläche.

..

Learn one programming language, not ten:

Python    : universeller Schraubendreher.
C         : Bohrmaschine
javascript: Spezialwerkeug für html Steiten
lisp      : Automatik ( quote eval Mechanismus)

Andere Sprachen können notwendig bzw. interessant sein.

Für den Privatgebrauch sehe ich keine Notwendigkeit von git.
Eine Datensicherung Duplikate auf gleichem PC und auch USB-Platte
gelegentlich alte USB-Platten aufbewahren
für ein: es war einmal, reicht.
Viele Versionen führen zu viel Verwirrung.

..

Hermann
    der schon lange programmiert,
    früher mal meist C heutzutage meist Python 3
    (3.4 SuSE "mag" leider kein 3.5)

-- 
http://www.hermann-riemann.de


Mehr Informationen über die Mailingliste python-de