link for the task issue:
link for the task issue:
https://github.com/Inno-Cringineers/Telegram_Calendar/issues/36
Number of TDD cycles used.
Used 2 TDD cycles.
For each key commit (failing test, passing test, refactor), provide:
Failing test
https://github.com/Inno-Cringineers/Telegram_Calendar/commit/8d39d369d4759577639d69305b54dc9c0483aea2
Passing test
https://github.com/Inno-Cringineers/Telegram_Calendar/commit/4910dbc55618a86acdb9bd7bb7510a9f1de5e2ea
Refactor
https://github.com/Inno-Cringineers/Telegram_Calendar/commit/50c5201f95f9a1264a9e1c536a69b02ab4e58776
One paragraph comparing TDD to your previous development approach.
When i used TDD, i wrote tests first, but tests was bad, because i didn’t know how code should be written. So after i wrote code, i realized that i need to rewrite tests. When i rewrited tests, i realized that i need to rewrite code. So i wrote code, and tests again. And so on.
This approach fits bad to me, because i have no clear vision of how code should be before i write it. I prefer to write code first, and then write tests.
But TDD may be really useful when you have documented good architecture and good design in details. So it will be easier to write tests before code, because you will have a clear vision of how code should be.