Gekürztes Programmierwörterbuch
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.

![Was ist überhaupt eine verknüpfte Liste? [Teil 1]](https://post.nghiatu.com/assets/images/m/max/724/1*Xokk6XOjWyIGCBujkJsCzQ.jpeg)



































