Page 19 - 4787
P. 19
уже написано: вона примушує розробника зосередити увагу на вимогах до
написання коду – тонка, але важлива відмінність.
На етапі запуску усіх тестів необхідно переконатися, що нові тести не
проходять. На цьому етапі перевіряють також самі тести: написаний тест може
проходити завжди і відповідно може бути марним. Нові тести не повинні
проходити зі зрозумілих причин. Це збільшує впевненість ( хоча не буде
гарантувати повністю), що тест дійсно тестує те, для чого його було
розроблено.
На етапі написання нового коду його пишуть так, щоб тест проходив.
Цей код не обов’язково повинен бути ідеальний. Припустимо, що він
проходить тест яким-небудь не елегантним способом. Це можливо, оскільки
наступні етапи покращать і відполірують його. Важливо писати код, що
призначений для тільки для проходження тесту. Не слід додавати зайвої
функціональності, яка відповідно не тестується.
На наступному етапі необхідно запустити усі тести і переконатися, що усі
вони проходять. Якщо усі тести проходять, то програміст може бути впевнений,
що код відповідає усім вимогам тестування. Після цього можна приступити до
заключного етапу циклу – рефакторингу..
Коли досягнута потрібна функціональність, на цьому етапі код можна
почистити. Рефакторинг – процес зміни внутрішньої структури програми, який
не торкається її зовнішньої поведінки і має на меті полегшення розуміння її
роботи, усунення дублювання коду, полегшення внесення змін у майбутньому.
Описаний цикл повторюється, що реалізувати все нову і нову
функціональність. Кроки необхідно робити незначними, від 1 до 10 змін між
запусками тестів. Якщо новий код не задовольняє нові тести або старі тести
перестають проходити, програміст повинен повернутися до налагодження. При
використання сторонніх бібліотек не слід робити такі зміни, що приводять до
тестування використаної сторонньої бібліотеки, а не код, що її визиває.
Розробка через тестування тісно зв’язана з таким принципом як, «роби
простіше дурникук» (keep it simple, stupid, KISS ) і ,,вам це не знадобиться”( you
ain’t gonna need it, YAGNI). Дизайн може бути чистішим і зрозумілішим, при
18