Cytat(Forti @ 24.01.2015, 06:59:56 )

Komentarze to zło

można to załątwić zmieniając nazwę tablicy lub poprzez refactoring całkowity, który się tu przyda.
też tak uważam (lepiej pisać kod jasny, który nie wymaga komentarzy), ale czasem komentarz się przydaje, szczególnie przy implementacji różnych algorytmów.
Cytat
Zaskoczę Cię. Javascript nie jest językiem obiektowym wink.gif - zaraz polecą na mnie pewnie fale krytyki.
JavaScript podobnie jak C++ czy Python jest językiem wieloparadygmatowym

Cytat
jakie klasy powinienem stworzyć, gdyż nie "czuję bluesa" w obiektówce.
opakowanie tego w "klasy" nie miałoby większego sensu (pomijając już to, że w JavaScript nie ma klas, tylko jest dziedziczenie po prototypach).
Swoją drogą:
Cytat
exit();
w JS się wychodzi za pomocą instrukcji return, a nie za pomocą funkcji exit().
Kod
var yearEnd = Number(String(year).substring(2, 4)); //końcówka roku
po co tak dziwnie? Skoro możesz tak:
Kod
var yearEnd = year % 100;
i osiągniesz to samo...
Kod
insert(result);
w ten sposób uzależniasz się od istnienia funkcji "insert", więc jak będziesz przenosił kod tej funkcji do innego pliku, będziesz musiał przenieść również funkcję insert (a jeśli zapomnisz, będziesz miał błąd). A przecież co robi twoja funkcja? Bierze jakieś parametry, oblicza coś i zwraca wartość. Możesz zrobić coś takiego (wszędzie gdzie masz insert:
Kod
if (typeof (result) !== 'undefined') {
return day + ' ' + spell + ' ' + year + ' roku' + ' to ' + result;
} else {
return '';
}
a funkcję insert wywoływać "poziom wyżej":
Kod
insert(getDay(d, m, y));
Kod
var mnth = monthValue[month - 1]; //numer odpowiadający danemu miesiącowi w tablicy
zle nazwana zmienna. nic nie mówi i będzie się mylić z month.
I komentarze. Pisałem, że brakuje mi komentarzy, ale nie miałem na myśli, żebyś je wstawiał bez namysłu w losowych miejscach:
Cytat
//odpowiednie wartości dla każdego miesiąca
ten komentarz absolutnie nic nie tłumaczy. To, że to są odpowiednie wartości dla każdego miesiąca wiadomo, bo zmienna się nazywa monthValue. Komentarz raczej powinien wyjaśniac co oznaczają te wartości, skąd się to wzięło. Liczbę tygodni? Numer dnia tygodnia, od którego się zaczyna dany miesiąc? jakąś inną magiczną wartość?
Idealnie, gdyby dało się samą zmienną nazwać w ten sposób, że komentarz będzie zbędny.
Kod
var yearCode = spec + Math.floor(yearEnd / 4) + yearEnd; //końcówkę dzielimy przez 4, zaokrąglamy do całości i dodajemy końcówkę roku
To też jest zły komentarz. Komentarze służą do tego, żeby wyjaśniać to co jest niejasne, a nie po to, żeby opisywały to, co i tak widać gołym okiem (w książce "Czysty Kod" Martina fajnie jest to opisane).
Kod
var result = check % 7; //reszta z / 7

komentarz "reszta z / 7" to wygląda tak jakby komentarze były dla laików, którzy nie wiedzą, że znaczek procenta oznacza liczbę z dzielenia... (no i komentarze się pisze po angielsku w normalnych sytuacjach, bo programistów na świecie, którzy znają język polski jest garstka... (a nigdy nie wiadomo z kim bedziesz pracować/komu będziesz pokazywać później kod, który piszesz).
ale co oznacza 7? Liczbę dni w tygodniu?
Może lepiej coś takiego zrobić:
var daysInWeek = 7
...
var result = check % daysInWeek
jesli moja intuicja jest tutaj dobra.