Предупреждение JavaScript Lint inc_dec_within_stmt

Может кто-нибудь объяснить причину/важность того, почему javascriptlint (не jslint) выдает предупреждение

inc_dec_within_stmt - increment (++) and decrement (--) operators used as part of greater statement

когда он сталкивается с строкой кода, например

someValue = count++;

Почему я должен держать эту проверку включенной?


person Luke Smith    schedule 15.07.2009    source источник


Ответы (1)


Это предупреждение, потому что подобное утверждение может быть двусмысленным для читателей.

Хотя мы с вами можем посмотреть на это и понять, что это эквивалентно

someValue = count;
count = count + 1;

менее опытный программист может неправильно интерпретировать это как

someValue = count + 1;

Конечно, это самый простой пример. Предупреждение гораздо более заслужено в такой строке, как

someValue = (count++) * (--index) / (3 * ++j);

хотя я не могу сказать, что когда-либо видел такую ​​​​строку в производственном коде :)

person Mark Rushakoff    schedule 15.07.2009