Wychodzę z założenia, że materiałów do nauki nigdy za wiele i pomysł ciekawy, ale zgadzam się z pierwszą opinią @konole w tym wątku i następnymi.
Jako, że jest mi to bliski język to nie mogę przejść obok bez skomentowania. Poniżej nie odnoszę się do treści samego kursu, ale do twierdzeń osób za nim stojących, którzy z dobrymi praktykami mają chyba na bakier. Każdy może popełniać błędy, ale powinien je poprawiać gdy ktoś alarmuje go o błędzie.
Nazywanie metod i klas w języku polskim jest chybionym pomysłem. A co ze znakami diakrytycznymi w takich klasach? Dlaczego autorzy kursu używają nazw polskich niepoprawnych?
Co to jest class Samochod
? Raczej chodzi o class Samochód
? Ruby przecież pozwala nazwać klasę z użyciem znaków diakrytycznych ‘Samochód’.
W kodzie programu zawsze powinno chodzić o czytelność.
Czy
User.new.name
Uzytkownik.new.imie
Użytkownik.new.imię
Użytkownik.nowy.imię
Czy
Team.members.each do |member| puts member.name.capitalize end
Zespół.członkowie.each do |członek| puts członek.imię.capitalize end
Zespół.członkowie.każdy zrób |członek| wypisz członek.imię.wielką_literą koniec
ma jakikolwiek sens? I czy byłby czytelny?
Wklejenie takiego kodu z zapytaniem się kogoś o pomoc w ogólnoświatowej społeczności może rodzić konsternację i mniejszą chęć do pomocy.
Tak samo nieczytelny jest fragment z użyciem bloku 5.times {powitanie}
. Powinno być 5.times { powitanie }
.
Nazwy metod standardowych i klas są po angielsku!
Ja jako dziecko grałem na komputerze w gry po angielsku, bo innych nie było i dało radę, nie znając żadnego słowa po angielsku, ale dzięki temu uczyłem się angielskiego podczas zabawy. Gdyby były po polsku zapewne miałbym o wiele większe trudności z nauką tego języka później.
Twierdzenie ze nauka podstaw powinna być po polsku może być prawdą, ale tylko dla całkowitych laików w języku angielskim, ale przy tej okazji kursant powinien się właśnie uczyć jak najwięcej angielskiego, bo bez tego ani rusz później.
Kurs taki nie powinien uczyć nietrafionych praktyk programistycznych, którymi są nazywanie klas i metod po nie do końca polsku (rzeczony Samochod
), w języku który ma semantykę angielską, stosowanie 4 lub więcej spacji gdy ogólnie jest przyjęte, że spacje mają być 2 (wystarczy zajrzeć chociażby na stronę główną dotyczącą Rubiego i zobaczyć, że we fragmentach kodu są 2 spacje. Cztery spacje wcale nie poprawiają czytelności, a wręcz ją zaburzają). Gdybym osobiście miał pracować na takim kodzie z nazwami pseudo polskimi i 4 spacjami to by mi się robiło niedobrze.
Linia kodu by być czytelna powinna mieć maksymalnie 80 znaków (tak da się tak pisać kod by się mieścił w liniach w 80 znakach - jest to dobry kod), a w uzasadnionych przypadkach dla pewnych języków do 120 (np. Java). Ruby należy do języków gdzie 80 znaków wystarcza dzięki temu, że są wcięcia na 2 spacje i relatywnie krótkie, znaczące nazwy metod i klas. Używanie tabulatorów do wcięć jest karygodne.
Osoby, które nabierają przez takie kursy złych praktyk programistycznych, potem jest ciężko takowych praktyk oduczyć. A ja potem jako programista muszę z takim bełkotem w kodzie się mierzyć.
Autorom płatnych kursów dotyczących Rubiego radziłbym konsultacje lub weryfikację takiego kursu przed jego opublikowaniem z kimś dobrze obeznanym w tematyce, żeby na przyszłość uniknąć takich wpadek. Bo jeśli już płacić to za jakość, a nie za jakoś.