Я б подумав, що гарним місцем для початку (якщо ви не бачите нічого очевидного) було б "налагодження". Якщо ви не бачите можливих проблем безпосередньо з кажана, хорошим місцем для початку є складання невеликого списку тестових значень. Хороші значення - це значення "щасливий шлях" (нормальне), значення "нуль" або "порожній", нульове значення, дуже мале значення (рядок 1 символів, int 1 тощо), дуже велике або дуже довге значення та 'дивні' значення, характерні для типу (наприклад, символи Unicode для рядків, від'ємні числа для ints тощо). Тут не завадить згадати, що зазвичай ви пишете одиничні тести, використовуючи ці значення для тестування коду, і просто запускаєте їх для перевірки функції.
Почніть із кроків із значеннями вашого щасливого шляху. Для функції додавання ви можете почати з 3 або 4. Вивчіть кожен рядок на помилки помилок та логіки, відстежуючи значення локальних змінних у процесі руху. Сподіваємось, ви знайдете кілька помилок. Коли ви закінчите щасливий шлях, у вас буде краще почуватися код, і, сподіваємось, ви відчуєте себе трохи перевантаженим - тому скажіть щось на кшталт: "Тепер, коли я краще відчуваю, що робить цей код, я збираючись відступити назад і поглянути на це ", тоді зробіть саме це - шукайте речі, які вам виділяються як речі, які ви зробили б інакше (погані дизайнерські рішення, погано названі змінні, досліджуйте можливі помилки тощо).
Якщо це не сприймає вас ніде або якщо ви відчуваєте, що у вас закінчилися речі, поверніться до свого списку тестових значень та перегляньте його знову з новим, яке, на вашу думку, може викликати проблеми.
Це, принаймні, змусить вас піти.