Werbung
Wir haben Sie bereits durch die Stadt geführt wichtigsten Programmierprinzipien 10 Grundlegende Programmierprinzipien Jeder Programmierer muss folgenSchreiben Sie immer Code, der von jedem gepflegt werden kann, der möglicherweise an Ihrer Software arbeitet. Zu diesem Zweck finden Sie hier einige Programmierprinzipien, die Ihnen dabei helfen, Ihre Handlung zu bereinigen. Weiterlesen Sie müssen es wissen, aber es gibt noch eine andere Klasse von Programmierprinzipien, die dies beweisen können noch vorteilhafter als diese.
Während die oben genannten Prinzipien Ihnen beibringen, wie man ist Clever Mit Ihrem Code lernen Sie die folgenden Prinzipien zu sein weise mit Ihrem Code. Einige von ihnen sind seltsam und viele von ihnen sind humorvoll, aber sie sind alle gleichermaßen praktisch und wichtig. Pass auf!
1. Das Aufblähungsprinzip
Dieser hat so viele Variationen, dass es schwierig ist, eine als Hauptvariante auszuwählen. Die vielleicht „offiziellste“ Version ist das Gesetz der Softwareentwicklung, das allgemeiner genannt wird
Zawinskis Gesetz, benannt nach Jamie Zawinski und erwähnt in Die Kunst der UNIX-Programmierung:„Jedes Programm versucht zu erweitern, bis es E-Mails lesen kann. Diejenigen Programme, die nicht so erweitert werden können, werden durch solche ersetzt, die dies können. “
Es geht um die Tendenz von Programmen, im Laufe der Zeit immer mehr Funktionen anzulocken und unweigerlich in Richtung zunehmender Komplexität zu tendieren. Sie können dies als kennen Merkmal kriechenDies ist die ständige Hinzufügung neuer Funktionen, die nichts mit dem Hauptzweck des Programms zu tun haben. Feature Creep führt zu Aufblähen, 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 haben hart gearbeitet, um so viel wie möglich in die Grenzen zu bringen. Jetzt, da wir größere Laufwerke, schnellere CPUs und mehr RAM haben, haben wir immer noch Probleme, die Grenzen einzuhalten. Mit der Zeit wird alles aufgebläht. Es ist Ihre Aufgabe, dies in Schach zu halten.
2. Die Mentalität „Schlimmer ist besser“
Fast als Antwort auf das Aufblähungsprinzip haben wir die Schlimmer ist bessere Mentalität, zuerst geprägt von Richard P. Gabriel schrieb in einem Aufsatz über Softwarequalität:
"Software, die begrenzt, aber einfach zu bedienen ist, kann für Benutzer und Markt attraktiver sein als umgekehrt."
Mit anderen Worten, es ist ratsam, 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 dünner Sie sich ausbreiten, desto unüberschaubarer wird das Projekt und desto unerwünschter wird es für Benutzer.
Was passiert, wenn Sie dies ignorieren? Sie landen mit dem Software Peter Prinzip:
"Ein übermäßig komplexes Projekt wird irgendwann zu komplex, um selbst von seinen eigenen Entwicklern verstanden zu werden."
Es stammt aus dem umfassenderen Peter-Prinzip, das besagt, dass Mitarbeiter auf der Grundlage ihrer aktuellen Situation befördert werden Kompetenz und nicht ihre erwartete Kompetenz in ihrer nächsten Position, alle Mitarbeiter landen schließlich in einer Position von Inkompetenz. 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 sechs oder mehr Monate lang nicht angesehen haben, könnte genauso gut von jemand anderem geschrieben worden sein."
Dieses scheinbar demotivierende Sprichwort ist eigentlich etwas zu umarmen. Tatsache ist, niemand ist perfekt. Du denkst vielleicht, du bist gerade ein genialer Programmierer, aber das gibt es immer etwas mehr können Sie lernen, immer mehr Raum zum Wachsen. Wenn Sie jemals auf alten Code zurückblicken und zusammenzucken, 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 verbessern können oder beim nächsten Mal anders machen würden, stagnieren Sie wahrscheinlich als Programmierer.
4. Prinzip des geringsten Erstaunens
"Wenn eine erforderliche Funktion einen hohen Erstaunungsfaktor aufweist, muss sie möglicherweise neu gestaltet werden."
Erstmals veröffentlicht in der IBM Systems Journal Bereits 1984 ist dieses Prinzip heute noch überraschend relevant - vielleicht mehr denn je.
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 dann nicht den Erwartungen der Benutzer Sie werden es wahrscheinlich nicht übernehmen. Es ist besser, nach inkrementellen Verbesserungen zu streben, die gerade groß genug sind, um beeindruckend zu sein, aber klein genug, um vertraut zu bleiben.
5. Gesetz der kybernetischen Entomologie
"Es gibt immer noch einen Fehler."
Oft angerufen Lubarskys Gesetz der kybernetischen EntomologieEs ist unklar, wer dieser Lubarsky tatsächlich ist. Sein Prinzip gilt jedoch für alle Programmierer: Egal wie sauber Sie Ihren Code schreiben, egal wie Sie testen Ihre Module zuverlässig, egal wie oft Sie Ihre Klassen umgestalten, es wird immer einen weiteren Fehler geben.
In gewisser Weise ist dies ein Befreiungsprinzip. Während wir auf jeden Fall sollten streben Für fehlerfreien Code ist es auch wichtig, sich daran zu erinnern, dass Perfektionismus der Feind des Guten ist. Suchen Sie nach Fehlern, beheben Sie sie, wenn sie auftreten, und fahren Sie dann fort.
6. Kernighans Gesetz
„Das Debuggen ist doppelt so schwierig wie das Schreiben des Codes. Wenn Sie den Code so geschickt wie möglich schreiben, sind Sie per Definition nicht klug genug, um ihn zu debuggen. “
Brian Kernighan, derselbe, der mitverfasst hat die C Programmiersprache Bibel Warum C-Programmierung immer noch lernenswert istC ist keine tote Sprache. Das IEEE Spectrum-Magazin hat es 2017 als Nummer 2 der Top-Sprachen eingestuft. Hier sind fünf Gründe warum. Weiterlesen ist berühmt für dieses aufschlussreiche Gesetz. Der springende Punkt dabei ist: Schreiben 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 spielen, ist genau das Gegenteil von dem, was es bedeutet Schreibe sauberen und besseren Code 10 Tipps zum Schreiben von sauberem und besserem CodeDas Schreiben von sauberem Code sieht einfacher aus als es tatsächlich ist, aber die Vorteile sind es wert. So können Sie heute mit dem Schreiben von sauberem Code beginnen. Weiterlesen . Je schwieriger Ihr Code zu verstehen ist, desto schwieriger wird es, Fehler zu beheben, wenn er unweigerlich kaputt geht.
Und als Robert C. Martin erklärt, es geht auch nicht nur um das Debuggen:
„In der Tat liegt das Verhältnis von Lese- und Schreibzeit weit über 10 zu 1. Wir lesen ständig alten Code, um neuen Code zu schreiben... [Deshalb] erleichtert das Lesen das Schreiben. “
7. Gummiente Debugging
Dieses ist weniger ein Prinzip als eine Technik, aber es ist so hilfreich und seltsam, dass wir es nicht auslassen würden.
Zuerst erzählt in Der pragmatische Programmierer, Debugging von Gummienten Dies ist der Fall, wenn Sie defekte Software debuggen, indem Sie Ihren Code einem leblosen Objekt (z. B. einer Gummiente) zeilenweise erklären. Dies funktioniert, weil der Akt der Erklärung verschiedene Teile Ihres Gehirns auslöst und Sie mit größerer Wahrscheinlichkeit Inkonsistenzen erkennen und herausfinden, wo Sie einen Fehler gemacht haben.
Aus diesem Grund kann eine Gummiente eine sein überraschend schickes Geschenk für Programmierer Die besten Geek-Geschenke für Programmierer: 20 Ideen für Programmierer und NerdsAuf der Suche nach einem Geschenk für einen Programmierer? Hier sind die besten Geek-Geschenke, angefangen von mechanischen Tastaturen bis hin zu Stehpulten und vielem mehr. Weiterlesen , ob Sie es für sich selbst oder für einen Programmierpartner von Ihnen kaufen.
8. Die Neunundneunzig Regel
„Die ersten 90 Prozent des Codes machen die ersten 90 Prozent der Entwicklungszeit aus. Die restlichen 10 Prozent des Codes machen die anderen 90 Prozent der Entwicklungszeit aus. “
Dieses freche kleine Sprichwort von Tom Cargill zeigt, warum das Programmieren so frustrierend sein kann: Egal, wie nahe Sie dem Ende kommen, Sie sind es viel weiter weg als auch Ihre besten Schätzungen. Wenn Sie glauben, dass Sie fertig sind, sind Sie erst auf halbem Weg.
Es geht Hand in Hand mit Hofstadters Gesetz:
"Es dauert immer länger als erwartet, auch wenn man das Hofstadter-Gesetz berücksichtigt."
9. Parkinson-Gesetz
"Die Arbeit wird erweitert, um die für ihre Fertigstellung verfügbare Zeit zu füllen."
Dieses eine Prinzip, das von Cyril Northcote Parkinson geprägt wurde, ist ein umfassenderes Prinzip, das absolut für die Programmierung gilt und gilt Hand in Hand mit der oben genannten Neunzig-Neunzig-Regel: Wie viel Zeit Sie für die Fertigstellung eines Projekts benötigen, hängt genau davon ab, wie lange es dauern wird nehmen. In der Softwareentwicklung ist „frühes Beenden“ so ziemlich ein Mythos.
Das Parkinson-Gesetz ist der Grund, warum ordnungsgemäße Fristen entscheidend sind, wenn Sie Ihre Software fertigstellen und versenden möchten. Deshalb empfehlen moderne professionelle Programmierer oft Agile Projektmanagement-Prinzipien So verwenden Sie agile Projektmanagementprinzipien, um Ihr Leben zu organisierenAgile, am besten als Projektmanagementmethode bekannt, ist ein großartiger Rahmen für die Verwaltung Ihres persönlichen Lebens. Wir zeigen Ihnen, welche Prinzipien Sie ausleihen können - kostenloser Arbeitsblatt-Download inklusive! Weiterlesen und Projektmanagement-Tools wie Asana 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 sind, was wahrscheinlich ist, da die meisten Programmierprojekte mehr Zeit benötigen als vorgesehen, denken Sie daran, dass das Hinzufügen von Codierern das Projekt nicht schneller löst.
In der Tat wird es wahrscheinlich dauern länger fertigstellen. Sie müssen nicht nur die neuen Codierer auf den neuesten Stand bringen, sie werden wahrscheinlich auch mit den vorhandenen Codierern in Konflikt geraten. Es müssen mehr Dinge dokumentiert werden, mehr Bürokratie wird benötigt, um alle auf der gleichen Seite zu halten, und mehr Reibung wird aus der gesamten Crunch-Time-Erfahrung resultieren.
Als Programmierer vorwärts gehen
Nachdem Sie diese Prinzipien kennen, sind Sie für die echte Welt Programmieren, nicht nur das, was Sie in der Schule, in einem Webkurs oder in einem Bootcamp erlebt haben. Diese Prinzipien beruhen auf jahrelanger Erfahrung und Misserfolgen.
Mit dieser neu entdeckten Weisheit können Sie nun zu a gefragte Programmierkarriere 10 Computer-Programmierjobs, die gerade gefragt sindDa es in der aktuellen Landschaft schwierig sein kann, einen Programmierjob zu bekommen, sollten Sie sich auf eine der folgenden Konzentrationen konzentrieren, um Ihre Erfolgschancen zu verbessern. Weiterlesen mit realistischeren Erwartungen. Lernen Sie dazu, wie es geht Maximieren Sie Ihre Programmierkarrieremöglichkeiten So verbessern Sie Ihre ProgrammierkarrieremöglichkeitenWenn Sie hoffen, Ihre Programmierkarriere zu starten, neu zu starten oder auf andere Weise zu verbessern, ist dies nicht einfach. Wenn Sie im College sind, ist die Zeit jetzt. Hier sind einige Tipps, die Sie weit bringen können. Weiterlesen . Und wenn Sie entscheiden, dass die Programmierung nichts für Sie ist, ärgern Sie sich nicht - ziehen Sie eine davon in Betracht stattdessen nicht codierende Tech-Jobs Codierung ist nicht jedermanns Sache: 9 technische Jobs, die Sie ohne sie bekommen könnenLassen Sie sich nicht entmutigen, wenn Sie Teil des Technologiebereichs sein möchten. Es gibt viele Jobs für Leute ohne Programmierkenntnisse! Weiterlesen .
Welches dieser Prinzipien trifft auf Sie zu? Kennen Sie andere seltsame Programmierprinzipien, die wir verpasst haben? Lass es uns in den Kommentaren unten wissen!
Joel Lee hat einen B.S. in Informatik und über sechs Jahre Berufserfahrung im Schreiben. Er ist Chefredakteur von MakeUseOf.