Jedną z porad dla narzędzia jslint jest:
++ i -
Wiadomo, że operatory ++ (inkrementacja) i - (dekrementacja) przyczyniają się do złego kodu, zachęcając do nadmiernej podstępności. Zajmują drugie miejsce po wadliwej architekturze, umożliwiając wirusom i innym zagrożeniom bezpieczeństwa. Istnieje opcja plusplus, która zabrania korzystania z tych operatorów.
Wiem, że PHP buduje jak $foo[$bar++]
ma może łatwo prowadzić do błędów off-by-one, ale nie mogłem wymyślić lepszego sposobu kontrolowania pętlę, niż miało to while( a < 10 ) do { /* foo */ a++; }
albo for (var i=0; i<10; i++) { /* foo */ }
.
Czy jslint je uwypukla, ponieważ istnieją podobne języki, w których brakuje składni „ ++
” i „ --
” lub obsługują je inaczej, czy też istnieją inne uzasadnienia dla uniknięcia „ ++
” i „ --
”, których mogłem pominąć?
++
nie powoduje błędów. Używanie ++
„podstępnych” sposobów może prowadzić do błędów, zwłaszcza jeśli więcej niż jedna osoba utrzymuje bazę kodu, ale to nie jest problem z operatorem, to problem z programistą. Nie uczyłem się JS na uniwersytecie (ponieważ jeszcze nie istniał), ale co z tego? Zrobiłem C, który oczywiście miał ++
pierwszy, ale to też dostaje „co z tego?” Nie poszedłem na uniwersytet, aby uczyć się określonego języka, poszedłem nauczyć się dobrych praktyk programistycznych, które mogę zastosować do dowolnego języka.