Working on this project has been a gradual but very rewarding process. At first, it felt challenging to understand how everything connected - from setting up the environment to organize files and understanding how test interacted with the main code. But as I moved from one task to the next, I started to noticed a clear structure and logic behind each step. Each step built on the previous one, showing that clean and maintainable code grows through small, focused improvements instead of big rewrites. Each task taught me something different; how to separate logic, handle inputs, prevent errors but also don't be afraid of them, and make my code more flexible and clean. I also realized how important is to build things progressively and testing small parts before moving forward. Divide and conquer
Even though I only reached Task 6, this part of the project gave me a strong understanding of how incremental design, testing, and refactoring connect.
I can now confidently read a problem, divide it into small parts, and let my tests guide each iteration.
More than building a String Calculator, I learned how to build trust in my own code.
- Continue implementing Tasks 7 to 9.
- Write a short user documentation for the calculator.
- Translate this same logic into another language like C# for comparison.
- Add automated coverage reports to check how many lines of my code are exectuted when I run tests. So I can prevent bugs.
This project helped me see programming as a learning journey rather than just a list of task to complete. Each step pushed me to think further, more clear, plan better and to trust my own process. Even though I finished up to task 6, I feel really proud of my performance, I feel that I grew a lot, not only as a developer but also as how I approach problems.