Top 10 Anfänger Programmierfehler

Wenn Sie das Programmieren lernen, machen Sie natürlich viele Fehler. Das Problem ist, dass Sie manchmal nicht wissen, dass Sie sie herstellen. In meiner Arbeit, in der ich Studenten im ersten Jahr das Codieren beibringe, sehe ich immer wieder dieselben Fehler und dieselben Fehler, die ich beim Lernen gemacht habe. Hier ist meine Liste der wichtigsten Fehler, die Anfänger vermeiden sollten:

01. Angst und Selbstzweifel

Der Fehler Nummer eins, den Sie als Programmierer für Anfänger machen können, ist zu glauben, dass Sie nicht gut genug und nicht klug genug sind: Sie haben die falsche Art von Gehirn und Sie werden es einfach nie bekommen. Ich glaube, dass jeder lernen kann, zumindest auf einem Grundniveau zu programmieren, wenn er dabei bleibt.



Code wird zunächst wie eine unverständliche Wand fremder Sprache erscheinen. Das ist normal! Aber Stück für Stück lernst du, was jeder Teil tut, und es ist nicht mehr beängstigend, und dann siehst du, dass es wirklich alles sehr logisch ist, wenn du weißt, was es bedeutet. Programmieren und logisches Denken haben definitiv ein natürliches Talent, das jedoch durch harte Arbeit und stundenlanges Einstecken Ihres Codes, Lesen von Tutorials und Nachschlagen von Dokumentation massiv aufgewogen wird.



Meistere deine Angst, oder Angst wird dein Meister sein! Oder so. Ich würde jedem Anfängerprogrammierer empfehlen, mit dem visuellen Programmierwerkzeug per Drag & Drop zu spielen Kratzen . Es ist eine hervorragende Möglichkeit, Programmierkonzepte wie Schleifen, If-Bedingungen, Variablen und Arrays zu lernen, ohne durch falsches Eingeben von Code abgeschreckt zu werden. Weil nicht getippt wird! Es wird zunehmend in Schulen verwendet, um die Programmierung einzuführen, und ich kann es nicht genug empfehlen.

wie man eine dreifache in indesign macht

02. Unordentliche Code-Formatierung

Eine Möglichkeit für einen erfahrenen Programmierer, von Anfängern geschriebenen Code fast sofort zu erkennen, ist die unordentliche Formatierung, z. B. das nicht ordnungsgemäße Einrücken von Code oder die inkonsistente Verwendung neuer Zeilen und Leerzeichen. In vielen Sprachen, wie z. B. JavaScript, gelten für die Formatierung Ihres Codes keine Einschränkungen. Der JavaScript-Interpreter wird sein Bestes tun, um Code auszuführen, unabhängig davon, wie er angeordnet ist. Dies kann dazu führen, dass Anfänger bei der Formatierung etwas willkürlich sind. Dies ist ein Fehler, da das Einrücken von Code eine der Möglichkeiten ist, wie wir seine logische Struktur zeigen. Indem wir den Code am Rand des Fensters eingeben oder platzieren, zeigen wir, wo Funktionen, Schleifen und Bedingungen beginnen und enden, damit wir sicher sein können, dass sich unser gesamter Code an der richtigen Stelle befindet. Da Sie mit JavaScript Funktionen in anderen Funktionen definieren können, ist es recht einfach, eine Funktion im falschen Bereich zu deklarieren (oder 30 Funktionen pro Sekunde auf einem setInterval zu erstellen!), Wenn Sie nicht beobachten, wo Ihre geschweiften Klammern beginnen und enden. Es gibt verschiedene Konventionen zum Formatieren Ihres Codes, und es spielt keine Rolle, welche Sie verwenden, solange Sie konsistent sind. Eine andere schlechte Angewohnheit besteht darin, große Teile des auskommentierten Codes zu hinterlassen, die Sie nicht mehr benötigen, die Sie jedoch 'nur für den Fall' behalten. Wir alle tun dies, aber es ist jeden Tag gut, den Code zu überfliegen und auskommentierte Abschnitte zu löschen - Sie werden sie nicht mehr brauchen!



03. Inkonsistente Verwendung von Groß- und Kleinschreibung

Bei einigen Sprachen wird zwischen Groß- und Kleinschreibung unterschieden, bei anderen nicht. Unabhängig davon, welche Sprache Sie schreiben, sollten Sie konsistent sein, wie Sie Groß- und Kleinbuchstaben in Ihren Variablen- und Funktionsnamen verwenden. Anfängerprogrammierer erstellen häufig eine Variable mit einem Fall, z. 'Var Score = 5', versuchen Sie später, auf einen anderen Fall zu verweisen - 'if (score> 3)' - und fragen Sie sich, warum der Code nicht ausgeführt wird. Darüber hinaus wechseln einige Programmierer zwischen verschiedenen Sprachen und bringen die Konventionen einer Sprache in eine andere, anstatt die Stilkonventionen der neuen Sprache zu respektieren. In JavaScript sollten Funktions- und Variablennamen Kamelbuchstaben verwenden. Dabei wird das erste Wort mit einem Kleinbuchstaben und jedes weitere Wort mit einem Großbuchstaben wie folgt begonnen: myVariableName, bestScore, wonName. Andere Sprachen haben möglicherweise die Konvention, Wörter durch Unterstriche zu trennen, aber wenn ich sehe, dass dies in JavaScript verwendet wird, sieht es seltsam aus.

04. Ungültige Variablen- und Funktionsnamen

Wir mögen über die langwierigen Klassen- und Variablennamen von Java-Programmierern wie die berühmte „AbstractSingletonProxyFactoryBean“ lachen, aber es gibt tatsächlich einen guten Grund, längere, beschreibende Variablennamen anstelle von kurzen Abkürzungen zu schreiben.

Die Absicht des Codes wird viel klarer und es ist viel weniger wahrscheinlich, dass Sie zwei verschiedene Variablen mit demselben Namen an verschiedenen Stellen haben, was Sie verwirren oder sogar Ihren Code beschädigen kann. In JavaScript, wo die Dateigröße eine Rolle spielt, gibt es eher ein Argument für kürzere Variablennamen, aber selbst dort sollten Sie nicht so weit abkürzen, dass Sie jede Bedeutung verlieren - und Sie können immer einen Minifier verwenden, um die Größe zu verringern .



Selbst wenn Sie wie ich ein bisschen Legastheniker sind, besteht das schlimmste Verbrechen bei der Benennung von Variablen darin, dass ein Variablenname einen Rechtschreibfehler enthält. Es ist schwierig genug, sich Ihre Variablennamen zu merken, ohne sich merken zu müssen, welchen Rechtschreibfehler Sie gemacht haben. Eine andere häufige schlechte Angewohnheit ist das Erstellen von Slang-Variablennamen. Während ich diesen Artikel recherchierte, schaute ich auf einen alten Code zurück, der vor 8 Jahren als relativ unerfahrener Programmierer geschrieben wurde (obwohl ich bereits seit 4 Jahren programmiert hatte, also hätte ich es wahrscheinlich besser wissen müssen!) Und fand alle Arten von Verbrechen, einschließlich Slang-Variablennamen wie 'numPlayaz' und absichtliches Schreiben von 'Pfoten' anstelle von 'Pause', um mich zu unterhalten. Warum würdest du das tun, warum?!

In diesen Tagen habe ich meine eigenen Namenskonventionen gebildet. Wenn ich beispielsweise die Anzahl der Dinge verfolge, die ich habe, schreibe ich immer numThings, und wenn ich einen Index von etwas verfolge (z. B. seine Position in einem Array), verwende ich immer thingNum. Es sind kleine Konventionen wie diese, die Ihnen viel Zeit sparen, wenn Sie sich fragen, wie Sie Dinge genannt haben, wenn Sie zu alten Projekten zurückkehren.

05. Überkommentieren

Ich bin ein großer Fan von selbstdokumentierendem Code - das ist Code, bei dem die Variablen-, Funktions- und Klassennamen sowie die Gesamtarchitektur anderen Entwicklern (und Ihrem zukünftigen Selbst!) Die Bedeutung des Codes mitteilen, ohne dass lange Kommentare erforderlich sind. Ich sehe jedoch auch den Wert des Kommentierens, insbesondere dort, wo eine Problemumgehung für ein bestimmtes Problem angezeigt wird, das möglicherweise nicht offensichtlich ist.

Was Sie jedoch nicht tun müssen, ist Kommentare wie diesen zu schreiben: „score + = 5; // addiert 5 zur Punktzahl ”. Was Sie dort tun würden, ist nicht, Ihren eigenen Code zu dokumentieren, sondern zu erklären, wie die Programmierung funktioniert. Dies mag eine nützliche Übung sein, wenn Sie Ihr erstes Programm schreiben, aber daran sollten Sie nicht festhalten.

Quadro oder GTX für die Videobearbeitung

06. Sie kennen nicht die volle Ausdruckskraft Ihrer Sprache

Sie können Anfängern nicht wirklich die Schuld dafür geben, da dies nur mit Erfahrung verbunden ist. Sobald Sie jedoch ein oder zwei Jahre in der Programmierung sind, ist es wirklich an der Zeit, einige der weniger verbreiteten Operatoren zu lernen - sie sind unglaublich nützlich. Hier sind zum Beispiel einige, auf die Sie eingehen sollten:

teuerster Druckbleistift der Welt
  • ! - Der durch ein Ausrufezeichen dargestellte Operator not kehrt den Wert eines Booleschen Werts um. Nehmen Sie zum Beispiel 'x =! X'. Wenn x anfing, den Wert false zu enthalten, enthält es jetzt true und umgekehrt. Sie können es auch in einer 'if' -Zustand wie dieser verwenden: 'if (! Alive)' - dies entspricht dem Schreiben von 'if (living == false)', jedoch etwas weniger Eingabe.
  • % - Modulo genannt, hat der Operator% nichts mit Prozentsätzen zu tun. Stattdessen wird der Rest zurückgegeben, den Sie nach dem Teilen einer Zahl durch eine andere übrig hätten. Es hat eine Million Verwendungszwecke, aber eine besteht darin, beispielsweise alternative Linien in einer Tabelle einzufärben. Um dies zu tun, würden Sie beim Durchlaufen Ihrer Daten sagen: 'if (i% 2 == 0) {// eine Farbe} else {// eine andere Farbe}'
  • Der ternäre Operator, dargestellt durch ein '?' und ein ':' ermöglicht es Ihnen, eine Bedingung und eine Zuweisung in einer einzigen Zeile auszuführen, wie folgt: 'var living = isEasy? 5: 3; ”

07. Verwirrung zwischen Sprachen, Frameworks, Plattformen und IDEs

Wenn Sie anfangen, Programmieren zu lernen, insbesondere Webprogrammierung, werden Sie mit verschiedenen Sprachen, Frameworks und IDEs bombardiert, und es kann sehr schwierig sein, zu wissen, was sie alle sind. Lassen Sie uns also schnell einige der häufigsten Missverständnisse klären.

Erstens sind HTML und CSS keine Programmiersprachen, ohne zu pedantisch sein zu wollen. HTML ist eine Auszeichnungssprache und CSS ist eine Stilsprache. Sie verfügen über hervorragende Fähigkeiten, aber wenn Sie HTML und CSS schreiben, programmieren Sie technisch nicht.

Für die Front-End-Webprogrammierung lautet die Sprache JavaScript. In jeder Lektion in den ersten Wochen meines Universitätskurses sagt ein Student Java, wenn er JavaScript bedeutet. Das ist verständlich - der Name JavaScript ist ein unglückliches Stück Cross-Promotion mit Java, das seit fast zwei Jahrzehnten Verwirrung stiftet! Eine weitere häufige Verwirrung, wenn Sie $ ('# thing') im gesamten Beispiel-JavaScript-Code sehen, ist die Beziehung zwischen JavaScript und jQuery.

Die Verwendung der jQuery-Bibliothek erleichtert die Arbeit mit JavaScript erheblich. Es ist jedoch zu beachten, dass es sich nur um eine Bibliothek handelt, die nicht Teil von JavaScript oder einer eigenständigen Sprache ist. Ein weiteres Missverständnis besteht darin, dass HTML, CSS und JavaScript an die IDE gebunden sind, in der Sie sie erstellt haben. Sofern Sie keine Dreamweaver-Vorlagen verwenden, ist Ihr Code, unabhängig davon, welche IDE Sie verwenden, nur Standardtext, in dem Sie öffnen und bearbeiten können jede andere IDE oder jeder andere Texteditor, sogar Notepad!

08. Debugging-Tools nicht nutzen

Wenn Sie in einer statisch typisierten Sprache wie Java, C # oder ActionScript3 arbeiten, sollten Sie den Debugger verwenden. Diese Sprachen geben Ihnen wirklich detaillierte Fehler, die in Kombination mit einem Debugger Ihnen helfen können, die Fehler in Ihrem Code leicht aufzuspüren.

Wenn Sie mit JavaScript arbeiten, obwohl Sie nicht so viel Debugging-Leistung haben, gibt es immer noch mehr als nur 'alert ()', um Ihnen zu helfen. In Chrome sind wertvolle Entwicklertools vorinstalliert, mit denen Sie die Ausgabe von 'console.log ()' anzeigen und Codefehler detailliert beschreiben können.

09. Sichern Sie Ihre Arbeit nicht

Der Satz 'Ich habe gerade [X] Stunden Arbeit verloren' sollte nicht im Vokabular eines Entwicklers enthalten sein! Es gibt jetzt so viele gute Tools für die automatische Sicherung und Versionskontrolle, dass es wirklich keine Entschuldigung gibt, etwas zu verlieren, selbst wenn Sie eine größere Computerfehlfunktion, einen Brand, einen Einbruch oder eine andere kleinere Katastrophe haben.

Ich arbeite in meinem Dropbox-Ordner, der automatisch alle meine Dateien mit Versionsverlauf sichert. Wenn ich mit anderen Entwicklern oder Open-Source-Projekten zusammenarbeite, checke ich meinen Code auch in ein SVN-Repository oder Github ein. Alle diese Tools verfügen über kostenlose Optionen.

Wie verstecke ich ein Titelbild vor der Öffentlichkeit auf der Facebook-Timeline?

10. Ich denke du weißt alles

Hier ist eine, an der ich mich viel zu lange schuldig gemacht habe, und es ist leicht, einen Fehler zu machen. Nach viel Ausdauer schreiben Sie endlich einen Code, der tatsächlich funktioniert! Ihr Selbstvertrauen wächst und bald unterrichten Sie Ihre Freunde und Sie haben das Gefühl, dass Sie es mit der Welt aufnehmen können! Das ist großartig, und Sie sollten das Gefühl genießen, den Computer endlich tun zu lassen, was Sie wollen.

Aber während Sie grinsen und Zeile für Zeile Code herausschlagen, vergessen Sie nicht, dass Sie noch lernen. Vielleicht ist es an der Zeit, auf Ihren alten Code zurückzublicken und nachzudenken. Welche Teile Ihres Codes verstehen Sie hundertprozentig und wo fügen Sie sie nur ein? Vielleicht ist es jetzt an der Zeit, sich mit der Funktion 'NICHT BERÜHREN' zu befassen und herauszufinden, was zum Teufel sie bewirkt. Ich programmiere seit 13 Jahren und habe in vielerlei Hinsicht immer noch das Gefühl, dass ich gerade erst die Oberfläche zerkratzt habe.

11. Bonusfehler! Das Denken, ob Bedingungen einen Vergleich enthalten müssen

Ich habe diesen bis zum letzten Mal verlassen, da er sicher auch einige erfahrene Programmierer in die falsche Richtung reiben wird. Der Code lautet wie folgt: 'if (myBoolean == true)'. Dies ist einer dieser Fehler, der eigentlich keinen Schaden anrichtet, aber ein Unverständnis darüber zeigt, wie Programmiersprachen funktionieren.

Lassen Sie es uns klären: Die Klammern nach dem Schlüsselwort 'if' müssen immer einen booleschen Wert (wahr oder falsch) enthalten. Wir vergleichen oft zwei Werte in den Klammern, um diesen Booleschen Wert zu erhalten - zum Beispiel „if (x< 200)”. Here “x < 200” will resolve to either true or false, depending on the value of x. But if we already have a true or false value e.g. “myBoolean” we can just write “if (myBoolean)”, there’s no need to write “== true”. (This issue gets more complicated in JavaScript where there’s a convention of using “===”, but I’ll leave that can of worms for another day!)

Ich hoffe, Ihnen hat meine Liste gefallen - und denken Sie daran, es ist in Ordnung, das Programmieren schwierig zu finden - es ist schwierig! Viel Spaß beim Programmieren! Und vergessen Sie nicht, dass Sie für Ihre Stimme stimmen können größte Programmierfehler für Anfänger auf unserer Facebook-Seite .

Iain Lobb ist ein preisgekrönter Spieledesigner und -entwickler, der freiberuflich arbeitet, unabhängige Spiele und Vorträge zum Abschluss in digitaler Kunst und Technologie an der Plymouth University hält. Er spricht auf Konferenzen auf der ganzen Welt und ist Co-Moderator Der Creative Coding Podcast .

Mochte dies? Lese das!