Добавил си само два реда код и това ти отне цели два дни?

Най-четени

Даниел Десподов
Даниел Десподов
Новинар. Увличам се от съвременни технологии, информационна безопасност, спорт, наука и изкуствен интелект.

На пръв поглед този въпрос изглежда разумен, но прави някои ужасни предположения:

  • Редовете сорс код = усилие
  • Редовете сорс код = значение
  • Всички редове сорс код са еквивалентни

Нищо от това не е истина и не е вярно.

Защо този дребен фикс, който изглежда толкова опростен, ми е отнел цели два дни?

  • Защото проблемът бе описан твърде мъгливо, че са мога да го повторя. Имах нужда от няколко часа, за да мога да го накарам редовно и стабилно да се проявява в системата. Някои разработчици незабавно биха се обърнали към човека, който им е съобщил за проблема и биха поискали повече информация, преди да започнат работа с дебъгера. А аз се опитвам да направя повече само с информацията, която ми е дадена. Знам че някои разработчици никак не обичат да оправят бъгове и правят всичко възможно да избегнат тази работа. Да кажеш, че информацията е недостатъчно е един идеален начин да изглежда така, сякаш искаш да помогнеш, но нищо да не правиш. Много добре знам, че съобщаването за проявила се грешка често пъти е трудно и съм благодарен на всички, които го правят. Искам да изразя признателността си за съобщенията за грешки, като се опитвам да направя максималното с подадената ми информация преди да започна да питам за допълнителни подробности.
  • Защото проблемът бе свързан с функционалност, която не познавам добре. Точно тази конкретна функция използвам съвсем рядко и никога на съм се вглеждал в детайлите. Това означава, че ми е необходимо повече време, за да разбера как е използвана и да вникна в нюансите и какво е нейното взаимодействие с останалия софтуер
  • Защото изгубих време да изследвам реалната причина за възникването на този проблем, а не просто да гледам симптомите. Ако даден код дава грешка, напълно е възможно да бъде поставен в try-catch оператор и по този начин грешката да бъде заметена. Няма грешка – няма проблеми, нали така? Не, извинете ме, но да направиш грешката невидима съвсем не е същото като да в оправиш. Подобно замитане на грешката твърде лесно води до най-неочаквани странични ефекти. Не искам да си имам работа с нещо подобно в бъдеще.
  • Защото търсих и други начин, по който този проблем би могъл да се прояви, а и се проявява. Намерените стъпки за възпроизвеждането на проблема могат да го покажат само в една конкретна ситуация, докато той всъщност може да се окаже дълбоко вкоренен в програмата. Търсенето и намирането на точните причини за възникването на проблема и разглеждането на всички възможни начини за неговото възпроизвеждане дава ценна информация. Изключително полезно е да се види как всъщност е използван кодът и къде би могло да има и други места с възможни подобни или други проблеми. А може това да покаже някои несъответствия в кода и по този начин да бъдат решени и други проблеми.
  • Защото ми трябваше време, за да проверя дали има и други участъци от код, които могат да са засегнати от този проблем. Ако даден бъг вече се е проявил, същата грешка би могла да бъде допусната и в други места на кодовата база.
  • Защото когато открих причината за възникване на проблема търсих най-лесния начин за неговото решаване с минимален риск за възникване на странични ефекти. Аз не се стремя да претупам работата. Искам да реша ситуацията по такъв начин, че да няма объркване и да няма други подобни проблеми в бъдеще.
  • Защото най-внимателно тествах направената промяна и се убедих, че тя решава проблемите за всички различни участъци и пътища на кода, които бяха засегнати. Аз не искам да отнемам времето на някой друг, който да проверява моята работа и да търси дали всичко съм направил правилно. И не искам този бъг да се прояви в бъдеще, и да се наложи отново да се връщам към него, след като мислено аз съм се придвижил напред. Наистина, когато е възможно, искам да избегна допълнителната работа на специализиран тестер, който отново да гледа моите промени.

Не обичам да оправям грешки. Отчасти защото ги усещам като свои предишни неудачи. Другата причина да не искам да се занимава с бъгове е, че предпочитам да работя с нови неща.

Но какво може да бе по-лошо от оправянето на грешки? Необходимостта от нееднократното  оправяне на една и съща грешка.

Всеки път отделям време, за да се убедя, че всеки бъг е максимално оправен и няма да се наложи отново да се сблъсквам с него, да го изследвам отново, да го оправям и да тествам повече от един път.

АбонаментВсичко важно от света на технологиите, директно в пощата ти.

С абонирането приемате нашите Условия и Политика за поверителност. Може да се отпишете с един клик по всяко време.


Коментирайте статията в нашите Форуми. За да научите първи най-важното, харесайте страницата ни във Facebook, и ни последвайте в Google Новини, TikTok, Telegram и Viber или изтеглете приложението на Kaldata.com за Android, iPhone, Huawei, Google Chrome, Microsoft Edge и Opera!

10 Коментара
стари
нови оценка

Нови ревюта

Подобни новини