Ich habe mich immer gerne gefragt: "Was sind die ersten Prinzipien davon?" nachdem ich etwas grundlegendes gelernt habe (zB programmieren). Eine inspirierende Frage, IMO, die Sie dazu zwingen kann, über die wichtigsten Prinzipien nachzudenken, die hinter etwas stecken, insbesondere über Fähigkeiten wie das Programmieren.
Was ist Ihrer Meinung nach das erste Prinzip der Programmierung? Ich werde meine Antwort unten etwas später geben.
programming-languages
Weipeng L
quelle
quelle
Antworten:
quelle
Schreiben Sie Code, als müssten Sie diesen Code pflegen.
quelle
Sei so faul wie möglich.
quelle
Zen, Teil I: Programmieren ist nur der Weg, nicht der Weg.
Programmieren ist nur die Technik, um einem Computer beizubringen, was er tun muss. Um bei der Erstellung schneller, zuverlässiger Software erfolgreich zu sein, müssen Sie Ihre Algorithmen, Best Practices und alle anderen Dinge kennen, die nicht unbedingt mit Ihrer Programmierung (Sprache) zusammenhängen.
Zen, Teil II: Wenn Sie es eilig haben, spazieren Sie langsam entlang. Wenn Sie es wirklich eilig haben, machen Sie einen Umweg.
Klingt albern, aber lassen Sie sich nicht auf Kompromisse ein, die Sie (wirklich) später stören könnten. Ich habe eine Regel: Wenn Sie im Kern eines Programms sind, versuchen Sie, so präzise und gut wie möglich zu sein. Wenn Sie Methoden aus dem Kern verwenden, die tief in Ihrer Software liegen, versuchen Sie, schneller zu codieren. Wenn Sie über diesen beiden codieren, können Sie sogar etwas schlampiger werden.
Konstruktionsfehler sind am schwierigsten zu finden und / oder zu beheben. Der nächste Schritt sind Programmierfehler in Teilen, auf die sich jeder verlässt, und dann die "echten vorzeigbaren Softwareteile". Wenn Sie am Ende eines Projekts einen Konstruktionsfehler beheben müssen, ähm, das ist nicht gut ... ;-)
Zen, Teil III: Kenne deinen Weg, Neo.
Kennen Sie Ihre Umgebung, Werkzeuge und das, worauf Sie sich täglich verlassen, und sortieren Sie es so, dass es für Sie funktioniert. Am besten, Sie verwenden Ihre Programmier- "Umgebung" so natürlich, dass Sie nicht einmal daran denken müssen. Wenn Sie einen Job erledigen müssen, stellen Sie nicht "schickes neues Zeug" vor, sondern erledigen Sie Ihre Arbeit. Dieses Zeug kann in ein neues Projekt eingefügt werden, und zwar dann, wenn Sie Zeit haben, es vorzubereiten und zu verwenden.
quelle
KISS (halte es einfach, dumm).
Es stellt sich in der Tat die Frage "Wie definieren Sie einfach?" Und auch "Wann ist etwas zu einfach für die anstehende Aufgabe?" Aus diesem Grund können Sie kein guter Programmierer werden, wenn Sie nur das erste Prinzip der Programmierung kennen.
quelle
quelle
Das Rad nicht neu erfinden.
quelle
Verstehe zuerst das Problem!
quelle
YAGNI - Du wirst es nicht brauchen . Die Idee hinter YAGNI ist es, für Ihre Anforderungen zu programmieren, nicht für zukünftige, potenzielle Funktionen. Die Prämisse ist, dass Sie (unter anderem) durch die Einhaltung der Programmieranforderungen den Code aufblähen, die Komplexität reduzieren, das Durchsickern von Funktionen vermeiden und die Einschränkungen für das, was in der Datenbank ausgeführt werden kann (und wie dies ausgeführt werden kann), verringern Zukunft.
Ich nehme an, es funktioniert zusammen mit dem modularen Design: Zukünftige Features können erweitert werden, ohne den vorhandenen Code neu zu entwerfen.
quelle
Wissen, wann nicht zu programmieren.
quelle
Kaffee rein, Code raus.
quelle
Wenn es nicht getestet wurde, ist es kaputt.
quelle
- Charles Antony Richard Hoare
quelle
Unterscheiden zwischen Ursache und Wirkung (Arbeiten mit Computern)
Unterscheiden zwischen Fakten und Meinungen (Arbeiten mit Menschen)
So einfach wie möglich, aber nicht einfacher (Design)
quelle
Programmieren ist ein Mittel, kein Ziel. Oder vielleicht: "Kann heißt nicht sollte."
quelle
quelle
Meiner Meinung nach ist das wichtigste Prinzip die Reduzierung der Komplexität durch die Schaffung guter Abstraktionen .
Das beinhaltet
sondern auch die Bestimmung des Punktes, an dem die Erstellung von Abstraktionen eingestellt und die grundlegenden Eigenschaften der Implementierungstechnologien (z. B. Datenbanksystem, Programmiersprache) ermittelt werden müssen, um die Entstehung vermeidbarer zusätzlicher Komplexität zu verhindern.
quelle
Programm mit Blick auf das Publikum. Gehen Sie dabei nicht davon aus, dass etwas, das Sie schreiben, nicht von Ihnen oder einer anderen Person gelesen und gepflegt wird.
Eine Konsequenz daraus: Beweisen Sie, dass Sie das zu lösende Problem verstehen, indem Sie Ihre Variablen, Funktionen und Klassen gut benennen!
quelle
es funktioniert erst, wenn Sie es in einem Test gezeigt haben
quelle
Zuerst überlegen, später programmieren.
Du bist bei weitem nicht so schlau, wie du denkst. Fragen stellen. Lernen Sie, Ihre Kollegen zu schätzen.
Beim Debuggen ist die erste Antwort fast immer falsch.
Code, den Sie mit der Absicht schreiben, wegzuwerfen, wird in der Regel zu einem Eckpfeiler viel größerer Prozesse. Lassen Sie niemals etwas willkürlich geschrieben.
quelle
Jedes Problem kann mit einer anderen Indirektionsebene gelöst werden.
quelle
Kennen Sie Ihre Werkzeuge.
quelle
Prinzip: Software ist Wissenserfassung .
Konsequenzen: Viele Techniken zur Wissensrepräsentation, die alle auf Abstraktion basieren . Gibt uns Schichten, Schichten, Verkapselung, Trennung von Bedenken.
Viele Techniken zur Darstellung von Prozeduren, die alle auf Sequenz , Auswahl und Wiederholung basieren .
quelle
Schreiben Sie den Code für den nächsten Mann.
quelle
Schreiben Sie Code immer so, als ob die Person, die ihn wartet, ein psychotischer Serienmörder ist, der weiß, wo Sie leben
Denken Sie auch nie, Sie wissen alles über Programmierung, lernen Sie weiter
quelle
Ich bin durch das Studium der digitalen Elektronik in das Programmieren eingestiegen, daher schätze ich, dass die grundlegenden Logikgatter (nicht und oder oder impliziert) die ersten Prinzipien des Programmierens waren.
quelle
Alles dreht sich um den Benutzer.
quelle
Garbage In - Garbage Out Es ist egal, wie schön Ihre Benutzeroberfläche ist, wenn die Daten schlecht sind.
quelle
DRY, so ziemlich alles andere entsteht daraus. KISS ist das andere Ende des Balanceakts, um sicherzustellen, dass Sie Software-Eleganz nicht bis zum Wahnsinn verfolgen.
quelle
Beginnen Sie mit der Ausgabe und arbeiten Sie rückwärts.
quelle