NOVINKA - Online rekvalifikační kurz Python programátor. Oblíbená a studenty ověřená rekvalifikace - nyní i online.
Hledáme nové posily do ITnetwork týmu. Podívej se na volné pozice a přidej se do nejagilnější firmy na trhu - Více informací.

Diskuze – Lekce 10 - Dokončení objektového diáře v JavaScriptu

Zpět

Upozorňujeme, že diskuze pod našimi online kurzy jsou nemoderované a primárně slouží k získávání zpětné vazby pro budoucí vylepšení kurzů. Pro studenty našich rekvalifikačních kurzů nabízíme možnost přímého kontaktu s lektory a studijním referentem pro osobní konzultace a podporu v rámci jejich studia. Toto je exkluzivní služba, která zajišťuje kvalitní a cílenou pomoc v případě jakýchkoli dotazů nebo projektů.

Komentáře
Avatar
Blanka Svobodová:3.8.2022 23:45

výsledek se mi sice moc líbí, ale teda přepis ukol namisto this.vypisElement a další změny...bez šance....přišlo mi, že mizelo i to, o čem se nemluvilo.....to vsunuti css do existujiciho kodu za trest. Musim asi vic potrenovat

Odpovědět
3.8.2022 23:45
Kdy, když né teď. Kdo, když né já?
Avatar
Petra Mollerová:20.6.2023 10:10

Děkuji za pěkný příklad.

Ten ukončovací div tam má nějaký význam? Řekla bych, že ne.

ukol.insertAdjacentHTML("beforeend", "</div>");

Po změně stylování by se buď hodilo vrátit každému úkolu datum a nebo datum vyčlenit mimo úkol jako nadpis všech úkolů, ale to už je jen drobný estetický detail. :)

 
Odpovědět
20.6.2023 10:10
Avatar
Natálie Růžičková:27.10.2023 15:16

Díky všem za komentáře, pracujeme na aktualizaci kurzu.

 
Odpovědět
27.10.2023 15:16
Avatar
Edita Karlovská:21.12.2023 11:48

Možná je to troufalý návrh, ale co tedy udělat e-learning, který slouží k rekvalifikaci absolutních začátečníků tak, aby byl už od začátku ve stoprocentní kvalitě? Tedy fungující kódy ke stažení, přesné popisky kam útržky kódů vkládat, podrobné vysvětlení cizích termínů, které se v lekcích vyskytují apod. Zejména pokud je takovýto kurz akreditovaný??? Opět jako u Základů JS, prvních pár lekcí super, ale pak se člověk postupně absolutně ztratí.

 
Odpovědět
21.12.2023 11:48
Avatar
Jan Gritzbach:4.1.2024 10:24

Tento kód z článku:

_nastavUdalosti() {
    this.potvrditButton.onclick = () => { // this zůstane nyní stále this
        console.log(this.nazevInput.value.length);
        if (this.datumInput.value !== "" && this.nazevInput.value.length !== 0) {
            const zaznam = new Zaznam(this.nazevInput.value, this.datumInput.value);
            this.zaznamy.push(zaznam);
            this.ulozZaznamy();
            this.vypisZaznamy();
        } else
            alert("Musíte vyplnit datum a název!");
    };
}

Navrhuji přepsat takto:

_nastavUdalosti() {

        this.potvrditButton.onclick = () => {  // používáme arrow function abychom neztratily kontext this

            // validace
            if ( ! this.nazevInput.value) {
                alert ("Úkol musí obsahovat popis!")
                return
            }

            if ( ! this.datumInput.value) {
                alert ("Musí být zadáno datum pro splnění úkolu!")
                return
            }

            // vše OK
            const zaznam = new Zaznam(this.nazevInput.value, this.datumInput.value)
            this.zaznamy.push(zaznam);  // uložíme si úkol do vnitřního pole záznamů
            this.ulozZaznamy()  // a současně jej duplicitně vložíme i do localStorage pro permanentní uchování
            this.vypisZaznamy()
        }
    }

Druhý způsob totiž hlavní logiku kódu, tj. tu, která má skutečně obsluhovat vložení nového úkolu, nezanořuje do zbytečných podmínek.

Namísto toho se napřed samostatně ověří potenciální problémy, které jediné jsou vkládány do if bloků. Všimněme si také, že je tím obrácena vyhodnocovací logika. Namísto toho, aby se kód provedl jen tehdy, když je všechno dobře, se zastaví, když je něco špatně. Výsledek je úplně stejný, ale kód je čitelnější, a podle mě také tak nějak intuitivnější.

Logika úspěšného uložení úkolu je tím odstíněna od ošetřování problémů. Také se domnívám, že prosté ověření truthy/falsy hodnot inputů pomocí

! this.nazevInput.value

je čitelnější, než takto porovnávat s prázdným řetězcem:

this.nazevInput.value !== ""
Odpovědět
4.1.2024 10:24
"Stay curious, learn every day!"
Avatar
Lumír RAJSKÝ:4.7.2024 23:00

Na začátku lekce není vůbec jasné kam kód vložit, co přepsat, nahradit. Dost mě to časově zdrželo, než jsem si vyzkoušel co a jak.

 
Odpovědět
4.7.2024 23:00
Avatar
Jan Hadviga
Člen
Avatar
Jan Hadviga:8.9.2024 14:24

Byl bych rád, kdyby jsme si na začátku řekli co se kam bude vkládat, jak postupujeme při návrhu kódu atd. Protože co tvoříme ví pouze auto na začátku.

 
Odpovědět
8.9.2024 14:24
Avatar
Odpovídá na Edita Karlovská
Veronika Bervidová:8.9.2024 14:55

opět jsem ztracená.. není jasné, kam kód vkládat. Když se přepisuje, bylo by fajn v tom kódu alespoň zvýraznit, co kde tedy přepisujeme. Z diskuse vidím, že ten problém už se řeší dost dlouho a změny žádné. Podle mě jste kurzy měly před spuštěním otestovat a ne si dělat testery ze studentů.

 
Odpovědět
8.9.2024 14:55
Avatar
Odpovídá na Edita Karlovská
Nikita Gurecká:1.11.2024 11:23

Naprosto souhlasím s touto reakcí a i jinými dalšími, u této lekce se mi chtělo až brečet zda to je opravdu mnou, nebo tím jak jsou lekce, zvlášť ty poslední koncipované a spíš je to demotivující než motivující.

Editováno 1.11.2024 11:25
 
Odpovědět
1.11.2024 11:23
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 9 zpráv z 29.