Gekürztes Programmierwörterbuch

Mar 12 2023
Beängstigende Begriffe werden als das entlarvt, was sie sind
Vorwort Die Branchenexperten hier auf Medium und anderswo verwenden gerne ausgefallene – ich meine technische – Begriffe, um die Bedeutung ihrer Artikel zu übertreiben und Sie zu der Annahme zu verleiten, dass das, was sie sagen, irgendwie wahrer ist. Wenn Sie sich an die Lehrbuchdefinitionen dieser Begriffe halten, werden Sie sich wahrscheinlich auf eine falsche Idee einlassen und den größten Teil Ihrer Karriere damit verbringen, härter und nicht intelligenter zu arbeiten.
Foto von Pisit Heng auf Unsplash

Vorwort

Die Branchenexperten hier auf Medium und anderswo verwenden gerne ausgefallene – ich meine technische – Begriffe, um die Bedeutung ihrer Artikel zu übertreiben und Sie zu der Annahme zu verleiten, dass das, was sie sagen, irgendwie wahrer ist. Wenn Sie sich an die Lehrbuchdefinitionen dieser Begriffe halten, werden Sie sich wahrscheinlich auf eine falsche Idee einlassen und den größten Teil Ihrer Karriere damit verbringen, härter und nicht intelligenter zu arbeiten. Dieses gekürzte Programmierwörterbuch enthält reale Übersetzungen dieser Begriffe, damit Sie eine genauere Interpretation der beliebten Artikel, Vorträge und Videos erhalten.

Die in diesem Wörterbuch angegebenen Definitionen können von denen auf Wikipedia abweichen, Sie können jedoch sicher sein, dass es sich größtenteils um verlässliche Darstellungen der tatsächlichen Verwendung der Begriffe handelt.

Definitionen

Lösung : Wenn ich es auf meinem Computer ausführe, geht es meistens nicht kaputt

Testen – Wenn der Computer es auf meinem Computer ausführt, geht es meistens nicht kaputt

TDD (Tear-Driven Development, auch testgetriebene Entwicklung) – Wenn der Computer es auf meinem Computer ausführt, geht es kaputt, sodass ich weiß, dass ich die Lösung noch nicht gemacht habe

BDD (verhaltensgesteuerte Entwicklung) – Mir gefiel nicht, wie andere TDD nannten, also habe ich mir einen besseren Namen ausgedacht

Test zuerst – Mir gefiel nicht, wie andere TDD nannten, also habe ich mir einen besseren Namen für sie ausgedacht

SOLID (snobistischer objektorientierter Leet und wütender Entwickler) – Ich bin so viel schlauer als Sie, Sie sind nicht einmal ein echter Entwickler

statisches Tippen – Ich schreibe auf, was etwas ist, damit ich es mir nicht merken muss

Kapselung – Ich habe zwei Dinge zusammengeklebt, sodass sie wie ein Ganzes sind und nicht auseinandergenommen werden können

modern – Die meisten Leute benutzen es immer noch, aber nicht mein Opa

performant – Wenn ich es auf meinem Computer ausführe, fühlt es sich nicht langsam an

Speichereffizient – ​​Wenn ich es auf meinem Computer ausführe, erhalte ich keine Speicherfehler

ressourcenintensiv – Langsam und/oder nicht genügend Arbeitsspeicher

Planung – Wir setzen uns zusammen und vereinbaren einen Termin, damit wir wieder an die Arbeit gehen können

Schätzung – ich betrachte den Arbeitsaufwand und komme zu einer wilden Vermutung

Entwurfsmuster – Das hat bei mir schon einmal funktioniert

Architektur – Das hat bei mir vor XXL funktioniert

Algorithmus – ich habe dafür gesorgt, dass er effizienter funktioniert

Datenstruktur – Ich habe die Verwendung von Daten vereinfacht

Namenskonvention – Ich benenne Dinge auf eine bestimmte Art und alle anderen sollten das auch tun

Styleguide – Ich finde, das sieht hübsch aus, daher sollte jeder auf die gleiche Weise programmieren

Codierungsstandard – Ich programmiere auf eine bestimmte Art und Weise und alle anderen sollten es auch so machen

linter – Dieses kleine Tool und IDE-Plugin, das mich an jeden kleinen Fehler erinnert, den ich mache, weil es viel einfacher ist, als zu lernen, wie man es richtig macht

Best Practice – So mache ich es und ich denke, das sollte jeder tun

idempotent – ​​ich kann es mehrmals aufrufen und es ist noch nicht kaputt gegangen

testbar – ich kann Tests dafür schreiben

modular – ich teile dies in mehrere Dateien auf und füge Importe und Exporte hinzu

Vererbung – ich habe dieses Ding in kleinere Stücke geteilt, damit ich sie mit etwas Sekundenkleber wieder zusammensetzen kann

Komposition – ich habe dieses Ding in kleinere Stücke geteilt, damit ich sie mit etwas Klebeband wieder zusammensetzen kann

wiederverwendbar – ich habe das irgendwo kopiert/eingefügt und es hat immer noch funktioniert, also habe ich ihm einen Namen gegeben

Abstraktion – Ich habe das irgendwo kopiert/eingefügt und es hat immer noch funktioniert, also habe ich ihm einen ausgefallenen Namen gegeben und ein paar Knöpfe hinzugefügt, damit es knallhart aussieht

Framework – Ich habe das irgendwo kopiert/eingefügt und es hat immer noch funktioniert, also habe ich ein Paket dafür erstellt, Knöpfe und Knöpfe hinzugefügt, Dokumentation geschrieben und einen Vortrag bei einer schicken Veranstaltung gehalten

lesbar – ich weiß, wie das aussieht, also sollte es jeder so schreiben

skalierbar – ich denke, dass dies ohnehin für viel größere Aufgaben funktionieren könnte

wartbar – Es funktioniert, solange niemand es berührt, also berühren Sie es nicht

einfach – Es passt in eine Zeile

einfach – Es ist die Arbeitsweise, die Joe, der Superstar-Entwickler, als einfach bezeichnet hat, also fragen Sie ihn

Senior – ich bin noch nicht im Ruhestand

Höhere Ordnung – Das wurde zu kompliziert, also habe ich es grob in zwei Hälften geteilt

Caching – Ich habe das Ergebnis gespeichert, damit ich es nicht mehrmals wiederholen muss

aync – Das ist, wenn meine erste Zeile nach der zweiten läuft

sync – Normal

Ereignisschleife – Ich bin ein leitender Entwickler, weil ich Ereignisschleifen kenne

Rekursion – Es ist wie eine Schleife, aber funktionsfähig

Webanwendung – Es ist eine Webseite, aber ich habe sie mit JavaScript erstellt

Progressive Web-App – Es ist wie ein schickes Lesezeichen mit Startmenü-Symbol

SSR (serverseitiges Rendering) – Ich habe dafür gesorgt, dass der Server wie ein Browser funktioniert, sodass ich React auf dem Server verwenden kann, da ich PHP, Python, NodeJS, Java, Go, C# … nicht kenne.

CDN (Content Delivery Network) – Ich habe zu viel Code geschrieben und das Laden hat ewig gedauert, also habe ich einen Server neben dem Benutzer platziert

Werkzeug – Echte Apps verfügen über Werkzeuge, Spielzeug-Apps nicht

Scrum – Echte Unternehmen haben es, Spielzeugfirmen nicht

Komponente – Ich weiß, dass es für echte Apps schlecht ist, ganze Seiten zu erstellen, deshalb teile ich sie in kleinere Teile auf

Kontinuierliche Integration – Ich kann Tests auf GitLab ausführen, damit meine Teamkollegen meinen MR genehmigen können

Continuous Delivery – Ich kann meine Apps über GitLab bereitstellen, sodass ich dafür nicht meinen Computer verwenden muss

Zusammenführungsanfrage – Ich zeige meine Änderungen meinen Teamkollegen, damit ich eine Kaffeepause machen kann, während ich darauf warte, dass sie sich die Änderungen ansehen

Optimierung – ich schaffe eine Punktzahl von 80+ in Lighthouse

Minimierung – Ich weiß nicht, wie ich das mit weniger Code zum Laufen bringen soll, also kürze ich alle Schlüsselwörter auf einzelne Buchstaben und reduziere alle Leerzeichen, in der Hoffnung, dass der Browser nicht überlastet

Vanilla – Ich glaube, es ist eine außerirdische Technologie, die auf der Erde nicht funktioniert

Trennung der Belange – ich mache mir nie Sorgen, ich mache einfach meinen Job und gehe nach Hause

Ein-Verantwortungs-Prinzip : Ich sorge dafür, dass alles auf einen Bildschirm passt

Regel der geringsten Leistung – Ohne Leistung geht es nicht, also füge ich zumindest viel Leistung hinzu

KISS (halte es einfach, dumm) – Ich bin schlau, also brauche ich das nicht, es ist nur für dumme Leute

DRY (wiederholen Sie sich nicht) – Das ist das heilige Prinzip, das echte Männer von durchschnittlichen Entwicklern unterscheidet: Wenn Sie sich wiederholende Codezeilen haben, sind Sie dumm und hässlich!

MVP (Minimum Viable Product) – Ein Produkt

Frist – Die Zeit der höchsten Belastung, nicht zu verwechseln mit dem Projektabschlussdatum

Sprint – Ich höre nach zwei Wochen auf, weil Joe, der Superstar-Entwickler, etwas davon gesagt hat, dass es ideal sei, nach zwei Wochen aufzuhören

agil – ich kann mit dem Codieren beginnen, bevor ich einen Plan habe, verdammt noch mal!

Klasse – Es ist schlecht, weil es sich um ein Standardmodell handelt, aber es ist gut für Unternehmensanwendungen

OOP (objektorientierte Programmierung) – So erstellen Sie seriöse Apps

FP (funktionale Programmierung) – Ich kann ganze Apps mit nur Einzeilern schreiben

Hauptversion – Ich habe größere Änderungen vorgenommen als in der Nebenversion

Nebenversion – Ich habe kleinere Änderungen vorgenommen als in der Hauptversion

Abhängigkeit – Wesentliches Paket zum Erstellen echter Apps

Jira – Ich kann keine echte Arbeit erledigen, wenn ich sie nicht in Jira protokolliere … aber ich hasse es trotzdem

Refactoring – es gefällt mir nicht, also mache ich es hübscher

Barrierefreiheit – Es gibt ein Gesetz, das besagt, dass Sie eine größere Schriftart benötigen, damit blinde Menschen Ihre Website besser sehen können, und dass Sie ARIA-Attribute verwenden müssen

reaktionsschnell – Funktioniert auf meinem iPhone und MacBook Pro

semantisches Markup – ich weiß, <header>dass es oben und <footer>unten geht

Utility-Klasse – Ich kann CSS in meiner HTML-Datei codieren, weil meine Benutzer kein Caching benötigen und ich gut mit der Bearbeitung mit mehreren Cursorn umgehen kann. Dies ist der einzige Fall, in dem ich DRY legitim brechen kann, obwohl es ein heiliges Prinzip ist

Anhang A

Wenn Sie tatsächlich erfahren möchten, was diese Begriffe bedeuten, versuchen Sie es mit Wikipedia, MDN und ähnlichen Orten.

Anhang B

Im Ernst: Lassen Sie mich Ihnen etwas sagen, das tatsächlich wahr ist. Als autodidaktischer Entwickler und insbesondere als Neuling hatte ich früher einen gewissen ängstlichen Respekt vor Leuten, die diese Begriffe verwendeten. Im Laufe meiner Karriere habe ich gelernt, dass 9,5 von 10 Menschen, die sie verwenden, nicht wissen, was diese Begriffe eigentlich bedeuten, und dass sie heute sogar von Neulingen verwendet werden. Nehmen Sie sie also nicht zu ernst. Nehmen Sie sie so ernst wie dieses Wörterbuch. Sie können programmieren, ohne die wahre Bedeutung von mehr als fünf der Begriffe auf dieser Seite zu kennen, und erledigen Ihre Arbeit besser als viele Leute, die diese beiläufig mit sich herumwerfen.