7 unnötige Anfängerfehler beim Programmieren (in JavaScript)

  Рет қаралды 35,009

Programmieren lernen

Programmieren lernen

Күн бұрын

Пікірлер: 72
@TS-cj5ir
@TS-cj5ir 2 жыл бұрын
Bin gerade am Anfang und habe begonnen, Javascript zu lernen, und da kommt dieses Video genau richtig. Danke dafür! 👍
@Deny515
@Deny515 2 жыл бұрын
Same 🤣
@misterwriter
@misterwriter 2 жыл бұрын
Die Erklärung des JavaScript Doc Kommentars ist super, das hat noch niemand erwähnt.
@n-olivier
@n-olivier 2 жыл бұрын
2:05 noch 'n kleiner Tipp - Variablen mit Kennung versehen. zb. nRadius = nummeric, cName = char gerade bei größeren Projekten wo z.B: ein stringformatierer "Radius" vorkommt ist es einfacher zu wissen was man übergibt 6:40 kleine BatchDatei (gibt mittlerweile auch Tools dafür) die stündlich autom. die letzten Änderungen speichert (z.B. die letzten 30 Änderungen) auf Platte und diese dann täglich auf eine andere Platte -> 30 Tage ;-) sind dann bis zu 90 Änderungen.
@pinkeHelga
@pinkeHelga 2 жыл бұрын
type prefixes sind ein Glaubenskrieg. :) Ich stehe auch eher auf JSDoc bzw. dessen Entsprechung der jeweiligen Sprache, die meine IDE dann versteht und entsprechend meiner Konfiguration dann auch anzeigt. (Ich hab's so eingerichtet, daß bei Strg-Taste alle möglichen Type-Infos etc. eingeblendet werden. Kann man auch dauerhaft haben) Bezeichner-Prefixes verwende ich hingegen für public/private Zugriffsmodi. Und bei der Entwicklung im Team muß es sowieso Konventionen geben, an die sich dann alle halten. Dazu gehören auch Groß-/Kleinschreibungsmuster verschiedener Bezeichner wie Variable, Konstante, Funktion, Objekt, Klasse... Wie schon im Video andeutet, gibt es VCS wie git, svn & co., die wesentlich besser geeignet sind als Backups. Aufwand ist min. genauso gering wie die Einrichtung eines Autobackups. Versionskontrolle ist exakt auf Softwareentwicklung zugeschnitten. Dieser Tip mit manuellen Kopien ist nur als erste Maßnahme bei den ersten Schritten in der Programmierung gemeint.
@n-olivier
@n-olivier 2 жыл бұрын
@@pinkeHelga Glaubenskrieg - jep, Lässt sich aber schnell beseitigen wenn du mit unterschiedlichsten Sprachen programmierst. Denn das ist das einzige was man in jeder Sprache anwenden kannst. Ich habe gezwungenermaßen aktuell 5 verschiedenen. Da könnte man ganz schnell den Überblick verlieren.
@OlafSt
@OlafSt 2 жыл бұрын
Ungarische Notation bei untypisierten Sprachen wie JavaScript ist absolut sinnvoll. So hat man wenigstens einen Hinweis darauf, was für ein Parametertyp da gefragt ist ;) Und da wir hier von JS reden, ist es auch okay, das zu erwähnen. Bei typisierten Sprachen wie Delphi oder C# ist das aber überflüssig (und verpönt) denn das Syntax Highlighting hilft einem, das Intellisense zeigt einem den gefragten Variablentyp und der Compiler lässt dann auch nur noch den passenden Typ zu.
@TwilightShiek
@TwilightShiek 2 жыл бұрын
11:41 - Ich mag es, dass ich mit dem Falschschreiben von "return" beim ersten Versuch nicht alleine bin :D Ich tippe so oft erstmal irgendwas mit "reut" am Anfang ein, das ist echt schlimm :D
@Olivier.Luethy
@Olivier.Luethy 2 жыл бұрын
Geniale Tipps. Auch wenn ich JavaScript schon eine Weile kenne, habe ich etwas dazu gelernt. Geniales Video, Danke!!
@Aganar
@Aganar 2 жыл бұрын
1) Bitte Vergleiche mit "===" und nicht "==" in JS :D 2) Backups in Ordnern? Schaut euch lieber direkt Git an (kann auch nur lokal genutzt werden, oder über GitHub, Bitbucket etc.) 3) Gabs nicht im Video, aber gerade bei JS Anfängern... BITTE KEIN "var" BENUTZEN! :) findet man leider noch viel zu oft besonders in älteren Tutorials 4) Wenn man aus dem kompletten Anfänger Status raus ist, schaut euch Linter an (zb. ESLint), die helfen euch Formatierfehler zu verhindern
@hakuryyuu
@hakuryyuu 2 жыл бұрын
Genau meine Gedanken ^^
@pinkeHelga
@pinkeHelga 2 жыл бұрын
`var` ist zu unrecht verpöhnt und gehört zum Sprachkonzept. Es wird nur zu oft falsch zwischen var/let/const unterschieden. `var` ist function scope und kann auch semantisch als solches eingesetzt werden. Man kann aber auch z.B. im Schleifenkopf eine Variable aus dem block scope mittels `var` herausheben, wenn man die Variable außerhalb der Schleife noch auslesen will, z.B. Zählerstand nach frühzeitigem Abbruch. So muß sie nicht extra vor der Schleife deklariert werden. Programmierstil ist Geschmacksache.
@cardtrixxer
@cardtrixxer 2 жыл бұрын
was ist der unterschied zwischen == und ===
@pinkeHelga
@pinkeHelga 2 жыл бұрын
@@cardtrixxer gleich und identisch. '1' == 1 ist true / gleich '1' === 1 ist false / nicht identisch auch '0xa' == 10 und '1e1' == 10 ist true parseInt('1a') ist 1 aber '1a' == 1 ist false Es findet beim Identitätsoperator keine implizite Typumwandlung statt. Der Vergleichsoperator ist ok, wenn man alle Spezialfälle der Umwandlung kennt und exakt das wünscht (hat Seltenheitswert). In fast allen Situationen ist der Identitätsoperator das, was Du am ehesten willt.
@npc386
@npc386 2 жыл бұрын
@@pinkeHelga sehe ich ähnlich, wenn ich mir angucke wie die leute immer const's innerhalb der schleifen deklarieren um einen wert zwischen zu speichern frage ich mich was das soll, ein var vor der schleife wäre effizienter anstatt mit jeden schleifendurchlauf eine neue const anzulegen. aus mir unverständlichen gründen halten viele es für einen unsauberen stil mit var oder let zu arbeiten...
@Rakilicious
@Rakilicious 2 жыл бұрын
sehr gute Tipps, aktuell sind meine Funktionen in Python mega lang. Vielen Dank :D
@siskoDE
@siskoDE 2 жыл бұрын
bei Minuten 11:48 musst du der function noch die variable ''i' zusätzlich zu 'search' mitgeben. Stimmts? Wenn ja, dann habe ich hier alles verstanden und schaue mir gerne mehr Videos an. Guter Content.
@mrballou1978
@mrballou1978 2 жыл бұрын
Auch gut ist das man in der settings.json Datei von vscode das hier hinzufügen sollte: "js/ts.implicitProjectConfig.checkJs": true das sorgt dafür das vscode mit TypeScript checking über die JS File drüber geht. Das sorgt dafür das es bei z. B. String auf eine Boolean zuweisen er ein Fehler gibt. Meiner Meinung nach ein muss. Doch aufpassen! Bei existierenden Projekten kann es dafür sorgen, dass die ganze Datei rot wird. Das "zwingt" User auch JavaScript Doc Kommentare zu nutzen
@ZumGewinn
@ZumGewinn 2 жыл бұрын
Danke sehr, das nehme ich mit, Funktionen kleiner halten für die Nachvollziehbarkeit :)👍
@predi2kify
@predi2kify 2 жыл бұрын
Top Video & sehr hilfreich, gerne mehr davon. :)
@Programmierenlernen
@Programmierenlernen 2 жыл бұрын
Freut mich, danke!
@ritaschulz6536
@ritaschulz6536 2 жыл бұрын
Schönen Tag. Der Umfang eines Kreises ist U = Pi * d , oder U = Pi * r * 2. Denn ( a ) ist der Flächeninhalt. Ja Formeln sind wichtig, und meine ist richtig. So viel dazu. EOF EOT
@darkintaqt
@darkintaqt 2 жыл бұрын
Also zum vierten Fehler… ich mache diesen „quasi“ mit Absicht, da ich es lesbarer finde und mein Code von nem minifier nach dem programmieren eh komplett unleserlich gemacht wird, dieses Feature mit inbegriffen
@stefankahnert9632
@stefankahnert9632 2 жыл бұрын
Zu 7. Einzelne Zeilen Code in eigene Funktionen auszulagern halte ich für over Engineering, sofern dieser Code nicht an anderer Stelle wiederverwendet wird. Wieso nicht einfach mit Kommentaren arbeiten?
@pinkeHelga
@pinkeHelga 2 жыл бұрын
Sehr berechtigter Einwand! In manchen Sprachen kann man inline-Funktionen explizit erzwingen, da kann man dann drüber reden, auch kleinere Codes kosmetisch auszulagern. Solche Funktionen werden dann vom Compiler wieder als include behandelt und ohne Funktionsaufruf eingefügt/ersetzt. Ansonsten ist bei solch kleinen Codefragmenten der Overhead des Funktionsaufrufs größer als die Codeausführung selbst, was sich innerhalb einer Schleife schnell summiert.
@manufried8793
@manufried8793 9 ай бұрын
Ich wünschte ich hätte Eure Plattform früher gefunden. Jetzt stecke ich bei einem anderen Anbieter fest.😅
@KAskar-nv3dp
@KAskar-nv3dp Жыл бұрын
Puuuhh….bin Anfänger und stolpere über Dich. Machste toll👍🏻. Bin Mitte 50…kann Dir gut folgen; Dankeschön 😁🙏🏻🙏🏻🙏🏻
@klidepiano8540
@klidepiano8540 2 жыл бұрын
Vielen Lieben Dank :)
@Programmierenlernen
@Programmierenlernen 2 жыл бұрын
Bitte
@svenjaw6723
@svenjaw6723 2 жыл бұрын
Könntet ihr vielleicht mal ein Tutorial zu Git bzw. Github machen? Finde ich sehr wichtig.
@E942-h2d
@E942-h2d 2 жыл бұрын
Ich, der in Assembler Sprachen schreibt: Funktionen lesbarer machen. Viel Glück! Da sind die Kommentare länger als der Code selbst... sehr viel länger.
@stefankahnert9632
@stefankahnert9632 2 жыл бұрын
Zu 4. Wieso benutzt ihr den == Operator, statt dem === Operator? Das ist eigentlich unsaubere Programmierung
@patrickfischer1961
@patrickfischer1961 2 жыл бұрын
Cooles refactoring Beispiel am Schluss. Wenn wir aber schon dabei sind, könntest du einen Hinweis auf Side Effects kzbin.info/www/bejne/kIjHYp1_btKghNE. Die besprochene Funktion sucht nicht nur nach Pokémon sondern rendert diese auch. Dies wäre ein ungewünschter Nebeneffekt ausser die Funktion wäre noch nicht korrekt benannt.
@michaelkotthaus7120
@michaelkotthaus7120 2 жыл бұрын
Danke. Das sind alles gute Tipps. Aber der Kreisumfang wird im Englischen i.A. als "circumference" bezeichnet (1:24).
@derallerechte3257
@derallerechte3257 2 жыл бұрын
Sehr gutes Video
@Programmierenlernen
@Programmierenlernen 2 жыл бұрын
Danke für das Lob!
@xonarz6248
@xonarz6248 2 жыл бұрын
Hey Junus, ich hab da ein kleines anliegen, ich habe gelernt, dass man heutzutage Funktionen in eine Variable packt z.B. "let meineFunktion = function() {};" Wegen dem Hoisting prinzip. Hab ich da was falsch verstanden ?
@Programmierenlernen
@Programmierenlernen 2 жыл бұрын
stackoverflow.com/questions/336859/var-functionname-function-vs-function-functionname schau dir das mal an. Wenn du eine Funktion mit let definierst, verzichtet du bewusst auf das Hoisting Prinzip.
@xonarz6248
@xonarz6248 2 жыл бұрын
@@Programmierenlernen Also hab ich es doch richtig verstanden :) Ich hab halt gelernt, dass man das Hoisting Prinzip heutzutage umgehen sollte. Aber vermutlich ist das auch von Anwendung zu Anwendung unterschiedlich :)
@pinkeHelga
@pinkeHelga 2 жыл бұрын
@@xonarz6248 Was man tun und lassen soll, kannst Du oftmals getrost vergessen. Es gehört zum Sprachkonzept und ist nicht als deprecated gekennzeichnet. Es gibt zu so ziemlich jedem Konzept Glaubenskriege in der Programmierwelt. Wäre hoisting böse, hätte man es in jüngeren ECMA Versionen längst entfernt. Es wurde ja ganz bewußt so implementiert.
@-mbn-
@-mbn- 2 жыл бұрын
11:46 Zeile 13 -> i ist nicht definiert 🙂
@pinkeHelga
@pinkeHelga 2 жыл бұрын
Deswegen wäre ein grundlegender Tip: Refactoring der IDE verwenden statt manuell umzuschreiben. :)
@metka___2655
@metka___2655 2 жыл бұрын
ich lerne Java erst seit einer woche und Java ist die erste Programmier Sprache die mir Spaß macht aber für ein Beruf welche und wie viele Programmier sprachen muss man können
@misterwriter
@misterwriter 2 жыл бұрын
Dies hier ist JavaScript und nicht Java, zwei verschiedene paar Schuhen. 😉
@metka___2655
@metka___2655 2 жыл бұрын
@@misterwriter die Tipps die er da zeigt funktionieren auch in Java um es Übersichtlicher zu machen ich bin Anfänger und meine Codes waren Unübersichtlich
@ItIsJan
@ItIsJan 2 жыл бұрын
java ist an sich für einen beruf schon gut
@ItIsJan
@ItIsJan 2 жыл бұрын
java ist an sich für einen beruf schon gut
@KarmaMan82
@KarmaMan82 2 жыл бұрын
@@misterwriter Wenn jemand SOAP oder REST einbaut, haben sich beide lieb!
@umutdurmaz3461
@umutdurmaz3461 Жыл бұрын
Variablen nicht deklarieren: Es ist wichtig, Variablen zu deklarieren, bevor man sie verwendet. Wenn man es nicht tut, wird JavaScript eine globale Variable erstellen, was zu unerwarteten Ergebnissen führen kann. Falsche Verwendung von Gleichheitszeichen: Wenn man Gleichheitszeichen (=) verwendet, um Variablen zu vergleichen, anstatt das Doppelgleichheitszeichen (==) oder das Dreifachgleichheitszeichen (===) zu verwenden, kann es zu unerwarteten Ergebnissen kommen. Fehlerhafte Anführungszeichen: Es ist wichtig, konsistente Anführungszeichen zu verwenden. Wenn man zum Beispiel ein Zitatzeichen innerhalb eines Strings verwendet, sollte man das umgebende Anführungszeichen anders wählen. Vergessen von Semikolons: Semikolons werden benötigt, um JavaScript mitzuteilen, dass ein Ausdruck abgeschlossen ist. Wenn man sie vergisst, kann dies dazu führen, dass der Code nicht richtig ausgeführt wird. Fehlerhafte Syntax: Syntaxfehler können zu Fehlern führen, die schwer zu finden sind. Eine gute Praxis ist es, den Code regelmäßig zu überprüfen und sich an Best Practices zu halten. Verwendung von undefinierten Variablen: Wenn man eine Variable verwendet, die nicht definiert ist, wird JavaScript einen Fehler ausgeben und der Code wird nicht ausgeführt. Ignorieren von Fehlern: Es ist wichtig, auf Fehlermeldungen zu achten und sie zu beheben, anstatt sie zu ignorieren. Wenn man Fehler ignoriert, kann dies zu schwerwiegenden Problemen führen, die schwer zu beheben sind
@johannesbeere5932
@johannesbeere5932 2 жыл бұрын
Was auch immer Git mit cloud zu tun hat
@Programmierenlernen
@Programmierenlernen 2 жыл бұрын
come on, also man kann auch extrem kleinlich sein und das Haar in der Suppe suchen..es ist doch klar wie das gemeint war..
@pinkeHelga
@pinkeHelga 2 жыл бұрын
Kann man halt sowohl dezentral als auch cloud-basiert verwenden. Naja nicht völlig unberechtigter Einwand. :)
@IIIITommyIIII
@IIIITommyIIII Жыл бұрын
👍👍
@potschochterpotschochter2403
@potschochterpotschochter2403 2 жыл бұрын
Ich stehe selber ganz am Anfang. Aber wie kann ich auf eine Funktion zugreifen, die doch vorher noch gar nicht definiert wurde? Siehe Zeitstempel 9:58 ????? Laut meinem Verständnis wird das Programm ja Zeile für Zeile gelesen und in Echtzeit interpretiert. Ich versteh die Welt nicht mehr 😞. Bitte um Aufklärung.
@florianhundegger
@florianhundegger 2 жыл бұрын
das ist eine Besonderheit in JavaScript und nennt sich "Hoisting". Kurz gesagt werden alle Funktionen, die mit dem function keyword definiert sind, vom Compiler am Anfang deines Codes gepackt
@potschochterpotschochter2403
@potschochterpotschochter2403 2 жыл бұрын
@@florianhundegger Danke, das erklärt einiges. Kenne bisher ja nur Python.
@florianhundegger
@florianhundegger 2 жыл бұрын
@@potschochterpotschochter2403 kein Problem :)
@AlphaWhiskers
@AlphaWhiskers 2 жыл бұрын
11:54 pokemonExists dürfte nicht funktionieren ohne i =D
@shadowlalo214
@shadowlalo214 2 жыл бұрын
du hast die 90.000 geschafft
@Programmierenlernen
@Programmierenlernen 2 жыл бұрын
🥳
@kernbeier1612
@kernbeier1612 2 жыл бұрын
Wie funktionert eine Website die beim Wechsel zwischen verschiedenen Unterseiten nicht neu laden muss? Der Zurück-Button des Browsers funktionert aber trotzdem. Beispiel für so eine Seite ist die Website des Radiosenders Bayern3. Beim Klick auf ein Element entsteht eine neue Seite aber sie lädt nicht neu. In der Konsole habe ich jedenfalls schon mal gesehen das react verwendet wird.
@patman7906
@patman7906 2 жыл бұрын
Hierbei wird dynamisch das DOM verändert und muss somit nicht neu geladen werden. Man kann es sich ganz einfach so vorstellen, dass am Anfang schon alle Elemente vorhanden sind, jedoch diese erst bei bestimmten Aktionen auf sichtbar oder hidden gesetzt werden. Wie du bereits schon erwähnt hast, wäre ein Framework hierfür React. Ein weiteres wäre z.B. auch noch Angular😇
@n-olivier
@n-olivier 2 жыл бұрын
Schau mal nach Ajax - damit lässt sich die Seite und der ReturnButton "manipulieren"
@pinkeHelga
@pinkeHelga 2 жыл бұрын
Suchbegriffe - Ajax / `fetch` - `.innerHTML` (performanteste Methode zur DOM-Manipulation)
@nicolasj6745
@nicolasj6745 2 жыл бұрын
6:17 Wieso sollte man als Programmierer immer wiederkehrende Dinge (Backups) manuell erledigen? Ich habe mir in VBA (die Excel Programmiersprache) einen Code geschrieben, der jedes mal wenn ich auf "Speichern" drücke - nach dem normalen Speichern die gerade gespeicherte Datei kopiert (also die xlsm-Datei) - in den Backupordner des heutigen Tages packt (wenn heutiger Tag noch nicht vorhanden, dann neu anlegen) - die Datei so umbenennt, dass sie den jetzigen Zeitpunkts als Namen bekommt (nur bissl umgewandelt, weil Doppelpunkte mag Windows in Namen nicht 😬) - einen Timer setzt, der in 15min eine Textbox aufploppen lässt, dass ich doch bitte speichern soll Alle 15min speicher ich also (oder bekomme zumindest eine Benachrichtigung) und eine Sicherungskopie wird automatisch in den Backupordner des richtigen Tages erstellt Und das beste: Ich muss nur 2 Zeilen Code ändern, um das Benachrichtigungsintervall einzustellen (alle 5min? Alle 30min?) Und den Speicherort zu ändern. Soll der Backupordner auf eine externe Festplatte? USB? Anderes Laufwerk? In einen firmeninternen Abteilungsorder? In den Onedrive Ordner (wenn man es in der Cloud haben will)? --> Einmal Dateipfad rausfinden und in einer Zeile hardcoden Und die hardgecodete Variable zieht der sich dann bei dem Sicherungskopie-Makro.
Was kann man mit PYTHON machen? [7 ANWENDUNGSFÄLLE]
13:19
Programmieren lernen
Рет қаралды 27 М.
To'y va marosimlarda siz uchun Sarvinoz admin +998888669191
0:13
The Singing Challenge #joker #Harriet Quinn
00:35
佐助与鸣人
Рет қаралды 43 МЛН
Players vs Pitch 🤯
00:26
LE FOOT EN VIDÉO
Рет қаралды 132 МЛН
Web-App programmieren in 60 Minuten | Tutorial für Anfänger (deutsch)
47:53
Programmieren lernen
Рет қаралды 69 М.
Wie du mit C# Strings in eine Textdatei schreibst (Windows)
3:03
Warum du kein Java mehr lernen solltest (Pro und Kontra)
12:51
Programmieren lernen
Рет қаралды 43 М.
Ausbildung zum Fachinformatiker für Systemintegration (m/w/d)
3:41
Grieshaber Logistics Group AG
Рет қаралды 7 М.
Die Harte Realität Als Softwareentwickler
5:25
Tim Leuschner
Рет қаралды 18 М.
Ohne DIESES Konzept ist dein Code schlecht!
4:11
Kuniswy
Рет қаралды 664
REST-API Einführung | Was ist eine REST Schnittstelle?
4:15
Coding Crashkurse
Рет қаралды 70 М.
Spiel programmieren mit JavaScript ohne Vorkenntnisse
31:32
Programmieren lernen
Рет қаралды 41 М.