?

Log in

No account? Create an account
Previous Entry Share Next Entry
2016-01

Про type coercion, юнит-тесты и перформанс

Неправильный код: if(cache.indexOf(query)) { fast_path }

Правильный код: if(cache.indexOf(query) != -1) { fast_path }

Ну и в итоге первый элемент кэша никогда не используется.

Вопрос: как это юнит-тестить? Работает-то оно одинаково, только с разной скоростью.

This entry was originally posted at http://wizzard.dreamwidth.org/395945.html. It has comment count unavailable comments. Please comment there using OpenID.

  • 1
dmih October 22nd, 2014
Ну если у него нет никакой логики, то наверное простительно и такую ошибку продолбать.
Хотя в сущности это просто утечка, и если утечки покрыты ПРАВИЛЬНО, т.е. не в момент выхода из программы, а в точках транзакций, то ты её бы увидел. Но это тоже редко не делают (хотя это и довольно просто, если вообще анализатор утечек в тестовом ките есть, scope-ы расставляй та и ладно).

  • 1