Anders ausgedrückt ... Was ist das häufigste und frustrierendste Missverständnis in Bezug auf das Programmieren, auf das Sie gestoßen sind?
Welche verbreitet und langjährige Mythen / Missverständnisse findet man schwer für Programmierer zu zerstreuen / korrigieren .
Bitte erklären Sie, warum dies ein Mythos ist.
Antworten:
Da Sie ein Programmierer sind, wissen Sie, wie Sie den von Viren befallenen Computer von [Person] reparieren.
quelle
Eine übliche HR-Sache, die mich bei der Arbeitssuche verrückt macht: die implizite Annahme, dass alle Programmierkenntnisse sprachspezifisch sind, dass es keine Software-Engineering-Expertise gibt, die über Befehlssätze hinausgeht. Diese zehn Jahre Erfahrung in Java und fünf weitere in Perl bedeuten, dass Sie für ein Projekt, das beispielsweise C # verwendet, völlig unbrauchbar sind.
"Ja, es gibt eine Lernkurve. Aber ich habe schwierigere Übergänge als diese gemacht. Ich mache einen Deal, bezahle mir 80% für den ersten Monat und am Ende dieser Zeit, wenn ich nicht ... oh Warten Sie, wir führen diese Unterhaltung nicht wirklich, weil Ihr HR-Affe einfach meine Bewerbung gelöscht hat. "
quelle
Wenn Sie nicht tippen, arbeiten Sie nicht.
Ich glaube, Zombiestarren und Kaffeespaziergänge sind unverzichtbar, wenn Programmierer Dinge in ihren Köpfen organisieren wollen.
quelle
dass Sie ein spätes Projekt beschleunigen können, indem Sie einfach mehr Leute darauf werfen.
quelle
Diese Schreibsoftware ist einfach.
Wie sonst erklären Sie all diese Projekte, die über die Zeit und das Budget laufen und die Menschen (Politiker, Medien usw.) sind immer noch überrascht, und Kunden beschweren sich, wenn Sie ihnen mitteilen, dass ihre "kleine Website" (oder was auch immer) tatsächlich 6 benötigen wird Monate für die Entwicklung und Kosten von mehreren tausend Dollar (Pfund, Euro, [Währung Ihrer Wahl einfügen])
Bei unklaren und sich ständig ändernden Anforderungen finde ich es manchmal erstaunlich, dass jede Software jemals fertig wird!
Ich weiß, dass es etwas komplizierter ist;)
quelle
Die Komplexität der App ist direkt proportional zur Komplexität der Benutzeroberfläche. Mit dieser Überlegung sollten Sie in der Lage sein, Google oder Twitter über ein Wochenende aufzubauen.
quelle
Alle Programmierer können gut rechnen. :-)
quelle
Jedes Teenager-Kind, das mit Computern hackt, ist einem erfahrenen Arbeitsprogrammierer gleichgestellt (oder überlegen).
quelle
Das heißt Echtzeit schnell.
Die Aussage „Die Pakete in Echtzeit verarbeitet werden müssen.“ ist wertlos und der böse Zwilling antwortet: "Wie schnell muss X passieren?" mit "echtzeit" ist das evtl. weniger als wertlos ... eher an der grenze dumm als ahnungslos.
Echtzeit bedeutet, dass die Funktion Y immer X-mal benötigt und jede Abweichung auf einen schwerwiegenden Fehler hinweist. Die Dauer von X definiert nicht "Echtzeit", sondern kann sechs Mikrosekunden oder sechs Tage betragen. Dass Sie bestimmen können, dass die Funktion Y X-Zeit benötigt, definiert "Echtzeit". Echtzeitsysteme sind nach dieser Definition deterministisch.
Also hör auf damit.
quelle
Warum schreibt ihr es nicht einfach gleich beim ersten Mal richtig, anstatt so viel Zeit damit zu verbringen, fehlerhaften Code einzugeben und dann später den Code zu lesen, um die Fehler zu finden?
:-) :-) :-) :-)
quelle
Wenn Sie nicht zur Universität gegangen sind, sind Sie für den Job nicht geeignet
quelle
Diese vorzeitige Optimierung bedeutet, dass Sie überhaupt nicht optimieren sollten. Ich habe mehr schrecklich schlechte Datenbanken gesehen, weil niemand die Leistung (kritisch für jedes Datenbanksystem) beim Design berücksichtigen wollte, da dies eine vorzeitige Optimierung war als jedes andere Problem beim Datenbankdesign. Quatsch, es gibt bekannte Performance-Killer, verwenden Sie sie nicht mehr als erste Wahl.
Ein weiterer Mythos ist, dass es zu schwierig ist, die Datenbank umzugestalten. Nein, aber Sie müssen überlegen, wie Sie Refactoring in der Entwurfsphase durchführen können, um es effektiv durchzuführen. Übrigens: Je länger Sie auf die Behebung dieses störenden designbasierten Leistungsproblems warten, desto schwieriger wird es, es zu beheben.
Ein weiterer böser Mythos ist, dass Datenbankdesign die OOP-Prinzipien widerspiegeln sollte. Nein, Datenbanken funktionieren mit Mengen, nicht mit OOP-Prinzipien. Einige OOP-Dinge verursachen schreckliche Performance-Probleme und andere sind in Bezug auf die Datenbank einfach nur schmerzhaft.
Schließlich sollten Sie die Datenintegrität in der Anwendung erzwingen. Datenbanken halten länger als die Anwendung und verlieren die Regeln, wenn die Anwendung ersetzt wird. Mehrere Anwendungen greifen auf sie zu, und häufig müssen direkte Abfragen ausgeführt werden, um Probleme zu beheben, die die Anwendung nicht durchlaufen. Ich habe noch nie eine Datenbank gesehen, die sich weigert, die Datenintegrität in der Datenbank mit guten Daten durchzusetzen.
quelle
Dass es eine mythische Quelle für absolute Best Practices gibt.
Eine Abweichung kann niemals gerechtfertigt werden.
Kein Dokument, das behauptet, etwas als Best Practice zu definieren, kann jemals in Frage gestellt werden.
quelle
Die Tatsache, dass das Marketing zu glauben scheint, dass das Hinzufügen einer Tonne kleiner Features weniger Arbeit bedeutet als das Hinzufügen eines einzelnen, aber ziemlich umfangreichen Features. Dies ist wahrscheinlich ein spezifischerer Fall für das Missverständnis, dass "Task-Switching keinen Overhead hat".
quelle
Dieser kommentierende Code ist unnötig oder "guter Code braucht keine Kommentare". Manchmal müssen Sie erklären, was ein komplexes Stück Code bewirkt. Darüber hinaus können Sie durch Kommentieren von Codeabschnitten das Lesen viel effektiver überfliegen.
quelle
if user.is_logged_in: print('Welcome')
braucht keinen Kommentar.Der schlimmste Mythos: Wenn Sie lange programmieren, können Sie leicht ein Projektmanager sein.
Und dass Sie Projektleiter werden sollten, wenn Sie schon lange programmieren.
quelle
Wenn wir in unserem Projekt etwas anderes als Java, C # und C ++ verwenden, werden wir keine Programmierer finden, die dies unterstützen.
quelle
quelle
Java ist langsam .
quelle
Wahrscheinlich das Gefährlichste, das ich je gesehen habe, weil es so schnell akzeptiert wird, ist, dass es gut ist, Code schnell zu schreiben. Je schneller Sie also [Feature hier einfügen] in einer bestimmten Sprache codieren können, desto besser ist die Sprache ist.
Dies ist ein ernstzunehmendes Beispiel für eine vorzeitige Optimierung, da viel mehr Arbeit in die Pflege des Codes als in dessen Erstellung investiert wird. Dies bedeutet, dass es viel wichtiger ist, Code zu schreiben, der einfach zu lesen, zu verstehen und zu debuggen ist, als Code, der einfach zu schreiben ist, und dass das Ermöglichen von einfach zu lesendem Code ein viel nützlicheres Maß für die Sprachqualität ist.
quelle
Fertigungsunterricht kann auf den Softwareentwicklungsprozess angewendet werden.
quelle
Als Programmierer wissen Sie alles über die neuesten Hardwaretrends, Übertakten, Gehäusemodifikationen usw. Freunde und Verwandte beraten Sie beim Kauf ihrer Ausrüstung.
quelle
Wenn Programmierer sagen, es sei sehr schwer / einfach unmöglich, denkt HR, dass sie faul und unmotiviert sind
quelle
Es muss ein Open-Source-Programm für mein Unternehmen geben. Kannst du es nicht einfach herunterladen und an meine Anforderungen anpassen?
quelle
Ich wurde von mehr als einer Person gefragt, wie es ist, nur in der Mitte des Gesprächs zu programmieren, um zu erkennen, dass sie glauben, wir programmieren direkt in Binärform oder mithilfe mathematischer Symbole.
Ich weiß nicht, ob ich diesen Mythos zerstreuen will, er lässt mich wirklich schlau aussehen!
quelle
Ich denke, das größte Missverständnis ist, dass es wichtiger ist, den Code einfach aufzuschreiben, als ihn lesen und verstehen zu können.
quelle
Programmieren ist wie am Fließband. Sie arbeiten für eine bestimmte Zeit an einem Produkt (möglicherweise mit Kollegen) und versenden es schließlich. Genau wie beim Bau eines Hauses aus Ziegeln.
quelle
Durch das Portieren eines Programms nach C ++ wird es automatisch schneller ausgeführt.
quelle
Jede Programmierumgebung mit einer Art visuellem Designer macht es so, dass Geschäftsbenutzer das Programm "schreiben" können und tatsächliche Programmierer nicht benötigt werden.
quelle
OOP Wiederverwendung. Es ist der größte Fehlschluss, der in der Programmierung vermarktet wird.
quelle