Brian Kernighan once said: "Debugging is twice as hard as writing the code in the first place. Therefore, if you write the code as cleverly as possible, you are, by definition, not smart enough to debug it."
After pondering a little while I (
noticed )
А про дебаггинг... Вот такой пример из жизни: есть файл на 11 тысяч строк в котором происходит баг, в нем функция на две тысячи строк (я не шучу!), в этой функции есть if строчек так на на полторы тысячи, который какой-то мудакдрый человек сотоварищи за несколько лет написал, расширил и углубил. Очень сильно повезло - есть шаги как баг повторить, кидаешь в воздух три зеленых свистка, хлопаешь в ладоши и точка остановки происходит там где надо. Случилость так, что в этот if при конкретно таких шагах исполнение не заходит (да и вообще судя по условию там что-то происходит только по тринадцатым числам месяца, когда Сатурн в созвездии Весов). Теперь вопрос - что проще, прочитать эту функцию (я не предлагаю весь файл) или отдебажить баг?
Спойлер: самая близкая причина бага состояла в том что значение указателя на только что созданный объект не было проверено на ноль :)
Reply
Leave a comment