Als «language-agnostic» getaggte Fragen

Dieses Tag ist für Fragen gedacht, die nicht spezifisch für eine Programmiersprache oder -umgebung sind.

30
Was sollte jeder Programmierer wissen?
Unabhängig von den verwendeten Programmiersprachen oder Betriebssystemen oder der Umgebung, für die sie entwickelt wurden, was sollte jeder Programmierer wissen? Einige Hintergrundinformationen: Ich bin daran interessiert, der beste Programmierer zu werden, den ich kann. Als Teil dieses Prozesses versuche ich zu verstehen, was ich nicht weiß und würde mir sehr …

20
Sind "break" und "continue" schlechte Programmierpraktiken?
Mein Chef erwähnt immer wieder nonchalant, dass schlechte Programmierer breakund continuein Schleifen arbeiten. Ich benutze sie die ganze Zeit, weil sie einen Sinn ergeben. Lassen Sie sich von mir inspirieren: function verify(object) { if (object->value < 0) return false; if (object->value > object->max_value) return false; if (object->name == "") return …



11
Die moderne Art der Fehlerbehandlung…
Ich habe über dieses Problem schon eine Weile nachgedacht und finde mich ständig mit Vorbehalten und Widersprüchen konfrontiert. Deshalb hoffe ich, dass jemand zu folgenden Schlussfolgerungen kommen kann: Bevorzugen Sie Ausnahmen gegenüber Fehlercodes Soweit mir bekannt ist, sollten Sie nach vierjähriger Tätigkeit in der Branche beim Lesen von Büchern, Blogs …

13
Warum speichern wir nicht den Syntaxbaum anstelle des Quellcodes?
Wir haben viele Programmiersprachen. Jede Sprache wird analysiert und die Syntax überprüft, bevor sie in Code übersetzt wird, sodass ein abstrakter Syntaxbaum (AST) erstellt wird. Wir haben diesen abstrakten Syntaxbaum. Warum speichern wir diesen Syntaxbaum nicht anstelle des Quellcodes (oder neben dem Quellcode)? Durch die Verwendung eines AST anstelle des …

30
Schädliche Versuchungen beim Programmieren
Nur neugierig, welche Versuchungen beim Programmieren haben sich in Ihren Projekten als wirklich schädlich erwiesen? Zum Beispiel, wenn Sie wirklich den Drang verspüren, etwas zu tun, und glauben, dass es dem Projekt nützen wird, oder wenn Sie sich einfach dazu verleiten, es zu glauben, und nach einer Woche feststellen, dass …

1
Gibt es wirklich einen grundlegenden Unterschied zwischen Rückrufen und Versprechen?
Bei der asynchronen Single-Thread-Programmierung gibt es zwei Haupttechniken, mit denen ich vertraut bin. Am häufigsten werden Rückrufe verwendet. Das bedeutet, dass an die Funktion übergeben wird, die asynchron eine Rückruffunktion als Parameter ausführt. Wenn der asynchrone Vorgang abgeschlossen ist, wird der Rückruf aufgerufen. Ein typischer jQueryCode, der auf diese Weise …



6
Wie funktioniert die Speicherbereinigung in Sprachen, die ursprünglich kompiliert wurden?
Nach dem Durchsuchen mehrerer Antworten eines Stapelüberlaufs ist klar, dass einige nativ kompilierte Sprachen eine Garbage Collection haben . Aber mir ist unklar, wie genau das funktionieren würde. Ich verstehe, wie Garbage Collection mit einer interpretierten Sprache funktionieren kann. Der Garbage Collector wird einfach neben dem Interpreter ausgeführt und löscht …

7
Was ist Früh- und Spätbindung?
Ich höre immer wieder von früher und später Bindung, aber ich verstehe nicht, was sie sind. Ich habe die folgende Erklärung gefunden, die ich nicht verstehe: Eine frühe Bindung bezieht sich auf die Zuweisung von Werten zu Variablen während der Entwurfszeit, während sich eine späte Bindung auf die Zuweisung von …


10
Ist es eine gute Praxis, wenn möglich die Division durch Multiplikation zu ersetzen?
Wenn ich eine Division benötige, zum Beispiel eine Bedingungsprüfung, möchte ich den Ausdruck der Division in Multiplikation umgestalten, zum Beispiel: Originalfassung: if(newValue / oldValue >= SOME_CONSTANT) Neue Version: if(newValue >= oldValue * SOME_CONSTANT) Weil ich denke, es kann vermeiden: Durch Null teilen Überlauf, wenn oldValuesehr klein ist Ist das richtig? …


Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.