Bin gerade am Anfang und habe begonnen, Javascript zu lernen, und da kommt dieses Video genau richtig. Danke dafür! 👍
@Deny5152 жыл бұрын
Same 🤣
@misterwriter2 жыл бұрын
Die Erklärung des JavaScript Doc Kommentars ist super, das hat noch niemand erwähnt.
@n-olivier2 жыл бұрын
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.
@pinkeHelga2 жыл бұрын
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-olivier2 жыл бұрын
@@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.
@OlafSt2 жыл бұрын
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.
@TwilightShiek2 жыл бұрын
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.Luethy2 жыл бұрын
Geniale Tipps. Auch wenn ich JavaScript schon eine Weile kenne, habe ich etwas dazu gelernt. Geniales Video, Danke!!
@Aganar2 жыл бұрын
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
@hakuryyuu2 жыл бұрын
Genau meine Gedanken ^^
@pinkeHelga2 жыл бұрын
`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.
@cardtrixxer2 жыл бұрын
was ist der unterschied zwischen == und ===
@pinkeHelga2 жыл бұрын
@@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.
@npc3862 жыл бұрын
@@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...
@Rakilicious2 жыл бұрын
sehr gute Tipps, aktuell sind meine Funktionen in Python mega lang. Vielen Dank :D
@siskoDE2 жыл бұрын
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.
@mrballou19782 жыл бұрын
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
@ZumGewinn2 жыл бұрын
Danke sehr, das nehme ich mit, Funktionen kleiner halten für die Nachvollziehbarkeit :)👍
@predi2kify2 жыл бұрын
Top Video & sehr hilfreich, gerne mehr davon. :)
@Programmierenlernen2 жыл бұрын
Freut mich, danke!
@ritaschulz65362 жыл бұрын
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
@darkintaqt2 жыл бұрын
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
@stefankahnert96322 жыл бұрын
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?
@pinkeHelga2 жыл бұрын
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.
@manufried87939 ай бұрын
Ich wünschte ich hätte Eure Plattform früher gefunden. Jetzt stecke ich bei einem anderen Anbieter fest.😅
@KAskar-nv3dp Жыл бұрын
Puuuhh….bin Anfänger und stolpere über Dich. Machste toll👍🏻. Bin Mitte 50…kann Dir gut folgen; Dankeschön 😁🙏🏻🙏🏻🙏🏻
@klidepiano85402 жыл бұрын
Vielen Lieben Dank :)
@Programmierenlernen2 жыл бұрын
Bitte
@svenjaw67232 жыл бұрын
Könntet ihr vielleicht mal ein Tutorial zu Git bzw. Github machen? Finde ich sehr wichtig.
@E942-h2d2 жыл бұрын
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.
@stefankahnert96322 жыл бұрын
Zu 4. Wieso benutzt ihr den == Operator, statt dem === Operator? Das ist eigentlich unsaubere Programmierung
@patrickfischer19612 жыл бұрын
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.
@michaelkotthaus71202 жыл бұрын
Danke. Das sind alles gute Tipps. Aber der Kreisumfang wird im Englischen i.A. als "circumference" bezeichnet (1:24).
@derallerechte32572 жыл бұрын
Sehr gutes Video
@Programmierenlernen2 жыл бұрын
Danke für das Lob!
@xonarz62482 жыл бұрын
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 ?
@Programmierenlernen2 жыл бұрын
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.
@xonarz62482 жыл бұрын
@@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 :)
@pinkeHelga2 жыл бұрын
@@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-2 жыл бұрын
11:46 Zeile 13 -> i ist nicht definiert 🙂
@pinkeHelga2 жыл бұрын
Deswegen wäre ein grundlegender Tip: Refactoring der IDE verwenden statt manuell umzuschreiben. :)
@metka___26552 жыл бұрын
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
@misterwriter2 жыл бұрын
Dies hier ist JavaScript und nicht Java, zwei verschiedene paar Schuhen. 😉
@metka___26552 жыл бұрын
@@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
@ItIsJan2 жыл бұрын
java ist an sich für einen beruf schon gut
@ItIsJan2 жыл бұрын
java ist an sich für einen beruf schon gut
@KarmaMan822 жыл бұрын
@@misterwriter Wenn jemand SOAP oder REST einbaut, haben sich beide lieb!
@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
@johannesbeere59322 жыл бұрын
Was auch immer Git mit cloud zu tun hat
@Programmierenlernen2 жыл бұрын
come on, also man kann auch extrem kleinlich sein und das Haar in der Suppe suchen..es ist doch klar wie das gemeint war..
@pinkeHelga2 жыл бұрын
Kann man halt sowohl dezentral als auch cloud-basiert verwenden. Naja nicht völlig unberechtigter Einwand. :)
@IIIITommyIIII Жыл бұрын
👍👍
@potschochterpotschochter24032 жыл бұрын
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.
@florianhundegger2 жыл бұрын
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
@potschochterpotschochter24032 жыл бұрын
@@florianhundegger Danke, das erklärt einiges. Kenne bisher ja nur Python.
@florianhundegger2 жыл бұрын
@@potschochterpotschochter2403 kein Problem :)
@AlphaWhiskers2 жыл бұрын
11:54 pokemonExists dürfte nicht funktionieren ohne i =D
@shadowlalo2142 жыл бұрын
du hast die 90.000 geschafft
@Programmierenlernen2 жыл бұрын
🥳
@kernbeier16122 жыл бұрын
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.
@patman79062 жыл бұрын
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-olivier2 жыл бұрын
Schau mal nach Ajax - damit lässt sich die Seite und der ReturnButton "manipulieren"
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.