Набрів тут на цікаву статтю про життя без дебагера.
Тут мається на увазі, щось на кшталт gdb, що дозволяє покрокове відслідковування.
В статті правильно говориться про проектування, втім не розкриваються деталі.
Як правило, більшість функцій можна зробити короткими, десь до 20-ти рядків з невеликою, кількістю параметрів, як правило не більше  трьох.
Мінімізувати кількість галуджень максимум до трьох-чотирьох.
До цього мене привчив Lisp, де ти матимеш проблеми, якщо не будеш дотримуватись цих правил.
А також, де це можливо або не занадто дорого — юніт-тести.
Вказана структура сильно полегшує їх написання.
