10 причин, через які помилки потрібно виправляти відразу


Дізнайтесь більше про нові кар'єрні можливості в EchoUA. Цікаві проекти, ринкова оплата, гарний колектив. Надсилайте резюме та приєднуйтеся до нас.

Багато новачків, а іноді і досвідчені програмісти, стикаються зі спокусою відкласти виправлення некритичного бага на потім. Додаток деякий час працює, до наявності помилки звикають і поступово про неї забувають. Врешті-решт, постає запитання: “А чи варто взагалі витрачати на неї час?”. Звичайно, варто! Ось десять причин, чому помилки в програмах слід виправляти відразу.

 

1. Невиправлені помилки приховують нові

Часто можна бачити ситуацію, коли щойно виправлена ділянка коду працює коректно і проходить тести, але при цьому спливає нова помилка. Можливо, Вам поталанило, і нових помилок не буде. Проте якщо вони все ж спливуть, не варто відкладати їх виправлення. Цілком можливо, що ігнорована Вами помилка з низьким пріоритетом приховує серйознішу. Чи, що ще гірше, потребує переписування значної частини коду. Якщо у Вас в коді є така проблема, буде тим краще, чим раніше Ви її виявите і усунете. Не відкладайте – виправляйте помилки відразу!

2. Невиправлені помилки вказують на те, що якість коду низька

Усі ми прагнемо, щоб наші програми були високої якості. Але іноді руки опускаються, і якість тоді стрімко знижується. Якщо програміст працює з кодом, у якому є погано написані функції, без юніт-тестів, новий код, який він пише, швидше за все буде таким самим. Аналогічно, тестувальник, бачачи десятки незакритих багрепортів, навряд чи захоче додавати новий. Якщо Ви працюєте в команді, такий настрій передається і колегам. Рано чи пізно вони почнуть запитувати себе: “А чи є сенс бути старанним? Навіщо прагнути до кращого, якщо воно і так працює?”. Не дозволяйте собі втрачати пильність – виправляйте помилки відразу!

3. Обговорення помилок призводить до марнування часу

Обговорення старих невиправлених помилок – це марнування часу, незалежно, чи плануєте Ви архітектуру, тестуєте додаток або просто зібралися з колегами. Є тільки одне важливе запитання: “Чи потрібно виправляти цю помилку?”. Все інше – просто шум. Який пріоритет їй присвоїти? Як довго це триватиме? Чи слід спочатку виправити баг № 114 або № 113? Усього цього можна уникнути (як і тривалих дискусій), якщо виправляти помилки відразу. Безумовно, в кожному проекті можуть бути помилки, які потребують підвищеної уваги, але це не повинно бути нормою. Не марнуйте час на базікання – виправляйте помилки відразу!

4. Невиправлені помилки спричиняють додаткову роботу

Чим більше невиправлених помилок у проекті, тим важче зрозуміти, чи знайдена в списку відомих. Уявіть, що у вас 5 невиправлених помилок. При виявленні нової легко побачити, чи повідомляв хтось вже про неї. А якщо їх буде 50? У цьому випадку або знадобиться додатковий час на перегляд усіх звітів (який можна витратити з користю), або звіт буде відправлений повторно. Повторний звіт потребує додаткового дослідження і тестів. Не робіть зайвої роботи – виправляйте помилки відразу!

5. Невиправлені помилки псують статистику

Різні команди по-своєму відстежують помилки. Хтось просто враховує кількість тих, що залишилися, а хтось записує все: від щільності до часу життя. Незалежно від способу розрахунку, будь-яка статистика покладається на точність даних. У міру того, як кількість невиправлених помилок збільшується, отримувати точну інформацію про їх стан стає все складніше. Чим довше помилка залишається невиправленою, тим більше відхилення від дійсності. В результаті це дезинформує всю команду і веде до хибних рішень. Не погіршуйте статистику – виправляйте помилки відразу!

6. Невиправлені помилки відволікають

Коли хтось зустрічає невиправлений баг, у нього в голові виникає багато відволікаючих питань. Візьмемо, наприклад, програміста, який пише нову функцію і помічає стару помилку. Чи повинен він її виправити? Може, хтось інший вже працює над цим, але ще не встиг повідомити? Чи можна покладатися на некоректний код? Так само і тестувальник, виявивши старий баг при тестуванні нового коду, зіткнеться з питаннями: “Чи продовжувати тестувати новий код? Чи повідомили вже про цю помилку? Чи вплине вона (позитивно або негативно) на результати тестів?” Не дозволяйте собі відволікатися – виправляйте помилки відразу!

7. Невиправлені помилки можуть зривати релізи

Час від часу виникає ситуація, коли необхідно випустити нову версію додатка прямо зараз. Екстрений патч, наприклад, або замовник хоче побачити останню версію на своєму ноутбуку. Такі події спричиняють стрес самі по собі, а за наявності помилок ситуація погіршується. Випуск свіжої версії зазвичай не потребує багато часу, але скільки знадобиться для виправлення помилок – невідомо нікому. Навіть якщо швидко виправити критичні помилки, треба буде знову протестувати додаток. Як результат – або затримка релізу, або випуск версії, в якій виправлені тільки критичні помилки. Не дозволяйте помилкам зривати реліз – виправляйте їх відразу!

8. Невиправлені помилки зривають терміни

Немає двох однакових багів. Деякі знаходяться за лічені секунди, на інші йдуть години. Деякі виправляються за хвилину, інші можуть тривати кілька днів. Виправлення деяких можна перевірити автоматичними тестами. Є такі, що потребують ручної верифікації. Всі разом ускладнюють оцінку термінів виконання завдання. Дуже легко припустити, що виправлення помилок і повторне тестування триватиме недовго, порівняно з іншим проектом, і його можна відкласти. Таке трапляється рідко. Навіть за наявності всієї необхідної інформації складно сказати, скільки насправді часу піде на виправлення помилки. Не зривайте терміни – виправляйте помилки вчасно!

9. Виправляти знайомий код легше

Людський мозок може розв’язувати багато складних задач. Довготривале зберігання інформації – явно не одна з них. Інформація, яку ми запам’ятовуємо, забувається з часом. Навіть те, що ми робили раніше самі, стає розмитим і незнайомим. Код, який пишеться в команді, не становить винятку. Тому простіше виправити помилку, поки пам’ять ще свіжа, а не через один-два тижні. Можна зменшити забування коду, дотримуючись певних правил, але це тільки дасть змогу виграти час і не допоможе запам’ятати код назавжди. Не примушуйте себе згадувати, як працює код, який Ви писали давно, – виправляйте помилки відразу!

10. Виправити помилку відразу легше

Виходячи з усіх вищеописаних причин, виправити помилку відразу виходить дешевше. Якщо не виправляти її, а шукати обхідні шляхи, вона може вплинути на інший код, демотивувати і Вас, і команду, стати причиною даремних суперечок, зайвої роботи, некоректної метрики. Вона відволікатиме Вас, зриватиме терміни і релізи, мулятиме очі. І чим довше Ви її ігноруєте, тим складніше її виправити і тим більшими будуть негативні ефекти. Не ризикуйте своїми грошима і нервами – виправляйте помилки відразу!

Переклад статті “Ten reasons why you fix bugs as soon as you find them”

Київ, Харків, Одеса, Дніпро, Запоріжжя, Кривий Ріг, Вінниця, Херсон, Черкаси, Житомир, Хмельницький, Чернівці, Рівне, Івано-Франківськ, Кременчук, Тернопіль, Луцьк, Ужгород, Кам'янець-Подільський, Стрий - за статистикою саме з цих міст програмісти найбільше переїжджають працювати до Львова. А Ви розглядаєте relocate?


Залишити відповідь

Ваша e-mail адреса не оприлюднюватиметься. Обов’язкові поля позначені *