Lviv nov 18, Eugene Safronov
Опытный TDD developer
Как проверить, что наш код работает?
Так или иначе нужно тестировать
Кто и что нас заставляет
писать тесты?
suite('Counter', function() {
test('tick increases count to 1', function() {
var counter = new Counter();
counter.tick();
assert.equal(counter.count, 1);
});
});
describe('Counter', function() {
it('should increase count by 1 after calling tick', function() {
var counter = new Counter();
var expectedCount = counter.count + 1;
counter.tick();
assert.equal(counter.count, expectedCount);
});
});
Если тестами покрыто 50% кода нельзя утверждать, что удалось предотвратить 50% возможных дефектов
Все удачные программы изменяются
Ф. Брукс
Ваш код повторяется
Большие функции
Вложенные циклы, while, for, ....
Не удачные имена переменных/методов/классов
Много параметров в функциях
Необоснованный проброс параметров функций
Много глобальных переменных
Нарушение ООП практик
Чтобы всё было и ничего за это не было!
Стоит сохранится
Тесты для критичной функциональности
Чаще сохраняйтесь и перезапускайте тесты
Правило бойскаута ;)
Рефакторинг не всегда приводит к улучшению качества
Рефакторинг во время разработки это более удачный момент
Вовремя понимать, что нужен рефакторинг и почва для его проведения