• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Aplikacja do przetestowania. JS

Object Storage Arubacloud
+1 głos
247 wizyt
pytanie zadane 27 stycznia 2017 w Nasze projekty przez Arkadiusz Fus Obywatel (1,100 p.)

A dzisiaj mam do przedstawienia kolejny projekt :D

Name generator! Bardziej to generuje jakieś losowe słowo xD

Imiona to raczej do gier fantasy by się nadawały :D

Co o tym sądzicie ?

W tym projekcie uczyłem się tworzenia klas :)

apka

repo

2 odpowiedzi

+2 głosów
odpowiedź 27 stycznia 2017 przez Comandeer Guru (601,590 p.)
  • Po co dołączasz skrypt w head?
  • Czemu przycisk nie jest przyciskiem?
  • Nie używaj let do rzeczy, których później nie nadpisujesz.
  • Po co Ci zmienne z _ na początku?
  • Czemu klasa Name decyduje, gdzie imię się ma wyświetlić i je wyświetla?
  • Czemu klasa Name ma metodę generateName? To raczej powinna być funkcja, która zwraca wygenerowane imię. Klasa Name powinna jedynie przedstawiać samo imię. Natomiast generowaniem go powinna zajmować się klasa NameGenerator – i to ona może mieć metodę generate.
  • firstLetterUpper to raczej już przegięcie, żeby było osobną metodą…
  • Jeśli odwołujesz się do jakiejś funkcji, to wypada ją zdefiniować przed miejscem wywołania. Nie ma to co prawda znaczenia z punktu widzenia działania programu, ale jest sensowniejsze i czytelniejsze.
  • Ciekawi mnie jak kod z console.log przeszedł linting.
komentarz 28 stycznia 2017 przez Arkadiusz Fus Obywatel (1,100 p.)
  • Uczono mnie żeby oddzielać HTML/CSS/JS (oczywiście są wyjątki, ale staram się je oddzielać)
  • Możliwe że coś mi się nie udało zrobić na buttonie, nie odpowiem bo dawno to było, albo porostu :D
  • tego nie wiedziałem 
  • Gdzieś wyczytałem żeby "ważne" zmienne, których nie powinno się ruszać np. w klasach używać z _ ponieważ wtedy inny programista wie żeby nie ruszać tej zmiennej 
  • nie mam bladego pojęcia, mój błąd :)
  • możesz mieć rację :)
  • w sumie dlaczego? funkcja robi coś innego niż generuje imię/ustawia pierwsza literę dlatego stworzyłem funckję bo jej zadanie to zrobienie dużej litery. i tutaj też bym prawdopodobnie teraz zrobił osobną funkcję, która wsadza to imię to jakiegoś kontenera.
  • zgadzam się, poprawia to ESLint
  • nie przeszedł, ponieważ kiedy zacząłem wprowadzać ES6 miałem problemy z ESLintem pod ES6 bo nie działało mi :(
komentarz 28 stycznia 2017 przez Boshi VIP (100,240 p.)
1 Comandeer miał na myśli, żeby skrypty ładować przed końcem body

2 to ma być button

4 takie zmienne oznacza się zazwyczaj jako const (w php/innych) js pewnie ma też coś takiego..

7 tworzenie sztuki dla sztuki nie jest dobre.. mogłeś korzystać z upperCase bezpośrednio a nie z pudełka.

 

co do samej apki to dodałbym możeliość eksportu do pliku, ustawienie ilości generowania nazw i może sposób ich generowania.

to tak dla nauki bo z puntu widzenia użyteczności apka nie ma sensu, bo są dużo lepsze.
komentarz 28 stycznia 2017 przez Arkadiusz Fus Obywatel (1,100 p.)
edycja 28 stycznia 2017 przez Arkadiusz Fus
1. zapytam się kogoś jeszcze na ten temat :D

2. ok

4. Ma, ale const nie działa w IE10 i niżej. Przywykłem do używania tylko var. a kiedy wyszedł ES6 to w sumie poprostu przerzuciłem się na let.

7.Nie robię tego dla sztuki. Funkcje powinny być małe i wykonywać jedną czynność. (staram się tego trzymać) wg. Robert C. Martin Czysty Kod

str.57 "FUNKCJE POWINNY WYKONYWAĆ JEDNĄ OPERACJĘ. POWINNY ROBIĆ TO DOBRZE. POWINNY ROBIĆ TYLKO TO."  mały cytacik :P

 

yup, tylko do nauki :)

 

//1. oki wpływa to na szybkość ładowania strony, ale w dzisiejszych czasach jest to już mało znaczące. Ma znaczenie jeżeli każda 0.1 sekundy się liczy. Albo przy bardziej blokujących skryptach.
komentarz 28 stycznia 2017 przez Boshi VIP (100,240 p.)
Ale po jaką cholerę obudowywać gotową funkcję w kolejną ? to tak jak zrobić klasę do łączenia się z bazą danych...
komentarz 28 stycznia 2017 przez Comandeer Guru (601,590 p.)

A jaka jest różnica między const i let w kontekście IE10? Poza tym konwencja z _ dla parametrów jest bez sensu…

Jak twierdzisz, że dzisiaj się wydajność nie liczy, to mylisz się i to bardzo. Dzisiaj wydajność jest jednym z najważniejszych czynników decydujących o tym, czy user użyje Twojej strony. 0.1 s ZAWSZE się liczy.

Co do "Czystego kodu": i właśnie dlatego jej nie znoszę. Jeśli czyta się ją na początku przygody z programowaniem, to się zachłystuje zawartymi tam dogmatami i twierdzi, że wszystko należy przerzucić do osobnych funkcji… podczas gdy podział związany choćby z SOLID leży.

Co do ESLinta: AFAIR trza mu podać odpowiednią opcję w configu.

komentarz 28 stycznia 2017 przez Arkadiusz Fus Obywatel (1,100 p.)

Ok, poczytam na temat SOLID i postaram się połączyć wiedzę :)

Czy jest bez sensu? Zależy dla kogo, jest to styl pisania bardziej. Gust. Jedni widzą w tym sens drudzy nie :P

link

Moim zdaniem:

No przy małych projektach raczej nie, ale przy większych gdzie jest różnica czy robimy fora zwiększającego się czy pomniejszającego no to się zgadzam :)

 

komentarz 28 stycznia 2017 przez Comandeer Guru (601,590 p.)

_ oznacza zmienne prywatne. Parametry nigdy nie są prywatne.

No przy małych projektach raczej nie, ale przy większych gdzie jest różnica czy robimy fora zwiększającego się czy pomniejszającego no to się zgadzam :)

Nie bardzo rozumiem, do czego się to odnosi? 

komentarz 28 stycznia 2017 przez Arkadiusz Fus Obywatel (1,100 p.)
Odnosi się do tego czy uważam, że dzisiaj się wydajność nie liczy. Liczy się ale to zależy od projektu :)
1
komentarz 28 stycznia 2017 przez Comandeer Guru (601,590 p.)
Rzeknę tak: każdy projekt, który jest publiczny, jest projektem, który musi być wydajny.
0 głosów
odpowiedź 28 stycznia 2017 przez ShiroUmizake Nałogowiec (46,300 p.)

Nie sądzisz, że to takie trochę przęgiecie, przcież masz dostęp do tego pola z innego obiektu. (Pamiętaj o DRY!)

this.consonant = _consonant;
this.consonantLength = this.consonant.length;

Tak jak commander wspominał, name robi za dużo (czy w świecie rzeczywistym imię potrafi się generować - jest jego właściwością. No nie.. imię to imię... powinno stanowić najprotszą interpretacje obiektową z ograniczonymi prostymi metodami (gettery./settery), inaczej mówiąc jest modelem. Obecnym miejscu, cieżko by było ją rozbudować (zasada SOLID).

 

 

komentarz 28 stycznia 2017 przez Arkadiusz Fus Obywatel (1,100 p.)
Czytałem o getterach setterach, ale zdecydowałem się ich tam narazie nie wprowadzać :)

Podobne pytania

0 głosów
2 odpowiedzi 326 wizyt
pytanie zadane 25 stycznia 2017 w Nasze projekty przez Arkadiusz Fus Obywatel (1,100 p.)
+1 głos
1 odpowiedź 237 wizyt
pytanie zadane 5 grudnia 2022 w JavaScript przez TOWaD Mądrala (6,000 p.)
+2 głosów
1 odpowiedź 416 wizyt
pytanie zadane 10 października 2021 w Nasze projekty przez krissto7 Gaduła (3,100 p.)

92,583 zapytań

141,434 odpowiedzi

319,669 komentarzy

61,966 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...