Die verrücktesten Programmierprinzipien, von denen Sie noch nie gehört haben

Die verrücktesten Programmierprinzipien, von denen Sie noch nie gehört haben / Programmierung

Wir haben Sie bereits durch die wichtigsten Programmierprinzipien geführt. 10 Grundlegende Programmiergrundsätze Jeder Programmierer muss befolgen. 10 Grundlegende Programmiergrundsätze Jeder Programmierer muss befolgen. Schreiben Sie immer Code, der von jedem Benutzer gepflegt werden kann, der an Ihrer Software arbeitet. Zu diesem Zweck finden Sie hier einige Programmierprinzipien, die Ihnen beim Aufräumen helfen. Lesen Sie mehr darüber, was Sie wissen müssen, aber es gibt noch eine andere Klasse von Programmierprinzipien, die sich vielleicht als richtig erweisen noch vorteilhafter als diese.

Während die oben genannten Prinzipien Ihnen beibringen, wie man ist Clever Mit Ihrem Code werden Sie die folgenden Prinzipien beibringen, zu sein weise mit Ihrem Code. Einige von ihnen sind seltsam und viele von ihnen sind humorvoll, aber sie sind alle gleich praktisch und wichtig. Passen Sie auf!

1. Das aufgeblähte Prinzip

Dieses hat so viele Variationen, dass es schwierig ist, eine als Hauptvariante auszuwählen. Vielleicht am meisten “offiziell” Version ist das Gesetz der Software-Umhüllung, das allgemeiner als "Software Envelopment" bezeichnet wird Zawinskis Gesetz, benannt nach Jamie Zawinski und erwähnt in Die Kunst der UNIX-Programmierung:

“Jedes Programm versucht zu expandieren, bis es Mail lesen kann. Die Programme, die nicht so erweitern können, werden durch Programme ersetzt, die dies können.”

Es geht um die Tendenz von Programmen, im Laufe der Zeit immer mehr Funktionen anzuziehen und zwangsläufig zu steigender Komplexität zu driften. Sie wissen das vielleicht als Feature Kriechen, Dies ist die ständige Hinzufügung neuer Funktionen, die nichts mit dem Hauptzweck des Programms zu tun haben. Das Kriechen von Merkmalen führt zu Aufblasen und Aufblähen ist oft unerwünscht.

Dies kann auch für die Softwareleistung gelten:

“Software wird erweitert, um alle verfügbaren Ressourcen zu verbrauchen.”

In den 90er Jahren waren Festplatten, CPUs und RAM weitaus restriktiver als heute, und Programmierer arbeiteten hart daran, so viel wie möglich in die Grenzen zu passen. Jetzt, da wir größere Laufwerke und schnellere CPUs und mehr RAM haben, haben wir immer noch Schwierigkeiten, Grenzen zu respektieren. Mit der Zeit wird alles aufgebläht. Es ist Ihre Aufgabe, das in Schach zu halten.

2. Die “Schlimmer ist besser” Mentalität

Fast wie als Reaktion auf das aufgeblähte Prinzip haben wir das Schlimmer ist eine bessere Mentalität, zuerst von Richard P. Gabriel in einem Essay über Softwarequalität geschrieben:

“Software, die beschränkt, aber einfach zu bedienen ist, kann für den Benutzer und den Markt attraktiver sein als umgekehrt.”

Mit anderen Worten, es ist klug, das herauszufinden ein Problem Ihre Software zielt darauf ab zu lösen und dann zu sein sehr gut bei dieser einen Sache. Halte es einfach. Je mehr Sie sich dünn ausbreiten, desto unhandlicher wird das Projekt und desto unerwünschter wird es für die Benutzer.

Was passiert, wenn du das ignorierst? Du landest bei der Software-Peter-Prinzip:

“Ein übermäßig komplexes Projekt wird schließlich zu komplex, um selbst von seinen eigenen Entwicklern verstanden zu werden.”

Es kommt aus dem breiteren Peter-Prinzip, das besagt, dass wenn Mitarbeiter auf der Grundlage ihrer aktuellen Kompetenz und nicht ihrer erwarteten Kompetenz in der nächsten Position befördert werden, alle Mitarbeiter letztendlich in eine Inkompetenzposition geraten. Nehmen Sie dieses Prinzip und wenden Sie es auf Software an. Sie werden sehen, warum schlechtere Software oft besser sein kann.

3. Eaglesons Gesetz

“Jeder eigene Code, den Sie seit mindestens sechs Monaten nicht mehr angesehen haben, könnte genauso gut von jemand anderem geschrieben worden sein.”

Dieses scheinbar demotivative Sprichwort ist wirklich etwas, das man umarmen kann. Tatsache ist, dass niemand perfekt ist. Sie denken vielleicht, dass Sie ein genialer Programmierer sind, aber es gibt einen immer etwas mehr kannst du lernen, immer mehr Raum zum Wachsen. Wenn Sie jemals auf alten Code und Krisen zurückblicken, bedeutet dies wahrscheinlich Sie haben seitdem etwas Neues gelernt.

Anders ausgedrückt: Wenn Sie auf ein altes Projekt zurückblicken und nichts sehen, was Sie beim nächsten Mal verbessern können, würden Sie als Programmierer wahrscheinlich stagnieren.

4. Prinzip der geringsten Erstaunen

“Wenn ein erforderliches Feature einen hohen Erstaunungsfaktor aufweist, muss das Feature möglicherweise neu entworfen werden.”

Zuerst veröffentlicht im IBM Systems Journal 1984 ist dieses Prinzip bis heute überraschend relevant - vielleicht mehr als je zuvor.

Es berührt im Wesentlichen das empfindliche Gleichgewicht zwischen Innovation und Vertrautheit: Wenn es sich um eine Software handelt zu unterschiedlich von anderen seiner Art und entspricht nicht den Erwartungen der Benutzer Sie werden es wahrscheinlich nicht annehmen. Besser ist es, schrittweise Verbesserungen anzustreben, die groß genug sind, um beeindruckend zu sein, aber klein genug, um vertraut zu bleiben.

5. Gesetz der kybernetischen Entomologie

“Es gibt immer einen weiteren Fehler.”

Oft angerufen Lubarskys Gesetz der kybernetischen Entomologie, Es ist nicht klar, wer dieser Lubarsky ist. Sein Prinzip gilt jedoch für alle Programmierer: Egal wie sauber Sie Ihren Code schreiben, wie robust Sie auch Ihre Module testen, egal wie oft Sie Ihre Klassen umgestalten, es gibt immer einen Fehler.

In gewisser Weise ist dies ein Befreiungsprinzip. Während sollten wir auf jeden Fall streben Für fehlerfreien Code ist es auch wichtig zu wissen, dass Perfektionismus der Feind des Guten ist. Suchen Sie nach Fehlern, beheben Sie sie, wenn sie auftauchen, und machen Sie dann weiter.

6. Kernighans Gesetz

“Das Debuggen ist doppelt so schwer wie das Schreiben des Codes an erster Stelle. Wenn Sie also den Code so clever wie möglich schreiben, sind Sie per Definition nicht intelligent genug, um ihn zu debuggen.”

Brian Kernighan, derselbe Autor der C-Programmiersprache. Warum lohnt es sich noch zu lernen, warum C-Programmierung noch lohnt? Warum lohnt es sich noch zu lernen? C ist keine tote Sprache. Tatsächlich hat das IEEE Spectrum-Magazin 2017 die Top-2-Sprache gewählt. Hier sind fünf Gründe. Lesen Sie mehr, ist berühmt für dieses aufschlussreiche Gesetz. Der springende Punkt ist: Schreiben Sie gut Code, schreiben lesbar Code, schreiben einfach Code, alles, solange es nicht ist klug Code.

Der Versuch, Ihre Programmiermuskeln mit der Komplexität des Elfenbeinturms zu trainieren, ist das genaue Gegenteil von dem, was es bedeutet, sauberen und besseren Code zu schreiben. 10 Tipps zum Schreiben von Cleaner und besserem Code 10 Tipps zum Schreiben von Cleaner und besserem Code Das Schreiben von sauberem Code wirkt einfacher als er tatsächlich ist. aber die Vorteile sind es wert. So können Sie heute saubereren Code schreiben. Weiterlesen . Je schwieriger der Code zu verstehen ist, desto schwieriger wird es beim Debuggen, wenn er unvermeidlich bricht.

Und wie Robert C. Martin erklärt, geht es nicht nur um das Debuggen:

“In der Tat ist das Verhältnis zwischen Leseaufwand und Schreiben weit über 10 zu 1. Wir lesen ständig alten Code als Teil der Bemühungen, neuen Code zu schreiben… [Dadurch erleichtert] das Lesen das Schreiben.”

7. Debugging von Gummiente

Dies ist nicht so sehr ein Prinzip, es ist eine Technik, aber es ist so hilfreich und seltsam, dass wir es missachten würden, es wegzulassen.

Zuerst erzählt in Der Pragmatische Programmierer, Debugging von Gummienten Dies ist, wenn Sie fehlerhafte Software debuggen, indem Sie Ihren Code einem unbelebten Objekt (z. B. einer Gummiente) Zeile für Zeile erklären. Dies funktioniert, weil der Erklärungsvorgang verschiedene Teile Ihres Gehirns auslöst und Sie eher Inkonsistenzen entdecken und herausfinden können, wo Sie sich geirrt haben.

Aus diesem Grund kann eine Gummiente ein überraschend geschicktes Geschenk für Programmierer sein. Die besten Geek-Geschenke für Programmierer: 20 Ideen für Programmierer und Nerds Die besten Geek-Geschenke für Programmierer: 20 Ideen für Programmierer und Nerds Auf der Suche nach einem Geschenk für einen Programmierer? Hier sind die besten Geek-Geschenke, die von mechanischen Tastaturen bis zu Stehpulten und mehr reichen. Lesen Sie mehr, ob Sie es für sich selbst oder für einen Programmierpartner von Ihnen kaufen.

8. Die neunzigneunzigste Regel

“Die ersten 90 Prozent des Codes machen die ersten 90 Prozent der Entwicklungszeit aus. Die restlichen 10 Prozent des Codes machen die restlichen 90 Prozent der Entwicklungszeit aus.”

Dieses freche, kleine Sprichwort von Tom Cargill ist der Grund dafür, warum das Programmieren so frustrierend sein kann: Egal, wie nahe Sie sich dem Ende gerade befinden, Sie sind es viel weiter weg als auch deine besten schätzungen. Wenn du denkst, dass du fertig bist, bist du erst auf halbem Weg.

Es geht Hand in Hand mit dem Gesetz von Hofstadter:

“Es dauert immer länger, als Sie erwarten, selbst wenn Sie das Hofstadter-Gesetz berücksichtigen.”

9. Parkinson-Gesetz

“Die Arbeit wird erweitert, um die für die Fertigstellung zur Verfügung stehende Zeit zu füllen.”

Dieses eine Prinzip, das von Cyril Northcote Parkinson geprägt wurde, ist ein breiteres Prinzip, das für die Programmierung uneingeschränkt gilt und mit der oben genannten Ninety-Ninety-Regel Hand in Hand geht: Wie viel Zeit Sie jedoch zum Abschluss eines Projekts benötigen, ist genauso lang wie nötig. In der Softwareentwicklung, “früh zu beenden” ist so ziemlich ein Mythos.

Das Parkinson-Gesetz ist der Grund, warum korrekte Fristen entscheidend sind, wenn Sie Ihre Software fertigstellen und versenden möchten. Aus diesem Grund empfehlen moderne professionelle Programmierer häufig agile Projektmanagementprinzipien. So verwenden Sie agile Projektmanagementprinzipien, um Ihr Leben zu organisieren. Wie verwenden Sie agile Projektmanagementprinzipien, um Ihr Leben zu organisieren. Agile, bekannt als Projektmanagementmethode, ist ein hervorragender Rahmen für die Verwaltung Ihres Unternehmens persönliches Leben. Wir zeigen Ihnen, welche Prinzipien Sie ausleihen können - kostenloser Download des Arbeitsblatts! Lesen Sie mehr und Projektmanagement-Tools wie Asana Trello vs. Asana: Das beste kostenlose Projektmanagement-Tool ist… Trello vs. Asana: Das beste kostenlose Projektmanagement-Tool ist… Die Wahl zwischen Trello und Asana ist schwierig. Hier vergleichen wir die kostenlosen Pläne und helfen Ihnen bei der Entscheidung, welches Projektmanagement-Tool für Ihr Team am besten geeignet ist. Weiterlesen .

10. Brooks Gesetz

“Das Hinzufügen von Arbeitskräften zu einem späten Softwareprojekt macht es später.”

Wenn Sie das nächste Mal zu spät an einem Projekt arbeiten, was wahrscheinlich ist, da die meisten Programmierprojekte mehr Zeit benötigen als zugeteilt, denken Sie daran, dass das Hinzufügen von Codern das Problem nicht schneller lösen wird.

In der Tat wird es wahrscheinlich dauern länger fertigstellen. Sie müssen nicht nur die neuen Codierer auf den neuesten Stand bringen, sie stoßen wahrscheinlich mit den vorhandenen Codierern zusammen. Es müssen noch mehr Dinge dokumentiert werden, mehr Bürokratie wird nötig sein, um alle auf der gleichen Seite zu halten, und es wird mehr Reibung aus der gesamten Krisenzeit-Erfahrung entstehen.

Als Programmierer vorgehen

Nun, da Sie diese Prinzipien kennen, sind Sie tatsächlich besser für das Internet geeignet echte Welt nicht nur was man in der Schule, in einem Webkurs oder in einem Bootcamp gesehen hat. Diese Prinzipien beruhen auf jahrelangen Erfahrungen und Misserfolgen.

Mit dieser neu gewonnenen Weisheit können Sie jetzt eine anspruchsvolle Programmierlaufbahn anstreben. 10 Jetzt im Moment nachgefragte Computer-Programmierjobs 10 Jetzt im Bedarf nachgefragte Computer-Programmierjobs Da das Programmieren eines Programmierjobs in der derzeitigen Landschaft schwierig sein kann, Konzentrieren Sie sich auf eine der folgenden Konzentrationen, um Ihre Erfolgschancen zu verbessern. Lesen Sie mehr mit realistischeren Erwartungen. Lernen Sie, wie Sie Ihre Programmierkarriere maximieren können. So verbessern Sie Ihre Programmierkarriere: So verbessern Sie Ihre Programmierkarriere Wenn Sie Ihre Programmierkarriere beginnen, neu starten oder anderweitig verbessern möchten, ist es nicht einfach. Wenn Sie in der Schule sind, ist jetzt die Zeit. Hier sind einige Tipps, die Sie weit bringen können. Weiterlesen . Und wenn Sie sich entscheiden, dass das Programmieren nicht für Sie ist, machen Sie sich keine Sorgen - betrachten Sie stattdessen einen dieser nicht-kodierenden Tech-Jobs. Kodieren ist nicht für jedermann: 7 Tech-Jobs, die Sie ohne es bekommen können Kodieren ist nicht für jeden geeignet: 7 Tech-Jobs, die Sie ohne es bekommen können Lassen Sie sich nicht entmutigen, wenn Sie ein Teil des Tech-Bereichs sein möchten - es gibt viele Jobs für Leute, die nicht wissen, wie man codiert! Weiterlesen .

Welches dieser Prinzipien ist für Sie wahr? Kennen Sie andere merkwürdige Programmierprinzipien, die wir übersehen haben? Lassen Sie uns unten in den Kommentaren wissen!