Throughout my professional journey to date, I have engaged with three distinct codebases. This experience has illuminated a crucial aspect of software development for me: the significance of writing clean, maintainable code. Despite my efforts to write high-quality code, I often found myself overlooking certain aspects, which became apparent during code reviews. Feedback from these reviews was instrumental in understanding how to enhance my code further. This realization underscored the long-term benefits of adhering to clean code principles.
In my pursuit of writing better code, I encountered challenges in achieving specific objectives and it cost me dearly, I realized that manual behavior-driven development testing sometimes led to missed edge cases. This experience brought to light the value of Test-Driven Development (TDD). My initial encounter with TDD during my university years was met with skepticism—I questioned the necessity of writing tests before the actual code, perceiving it as additional, unnecessary work. However, this perspective proved to be misguided and came with its consequences. Learning from these experiences has been a pivotal part of my journey.
To deepen my understanding of clean code principles, I turned to Uncle Bob's seminal work, Clean Code: A Handbook of Agile Software Craftsmanship. This book provided comprehensive insights into the importance of clean code and its impact on software development. To apply these principles practically, I sought resources tailored to my current professional context. My search led me to Intro to TDD with Next.js, a resource that introduced me to TDD in the context of Next.js development. This project serves as an introductory exploration of TDD in Next.js, aiming to integrate these methodologies into my professional practice.
The original repository, Intro to TDD with Next.js, serves as a foundational resource for learning TDD in Next.js. My repository introduces several modifications and enhancements to the original, including:
- Next.js Version Update: The Next.js framework has been updated from version 12 to 14, ensuring compatibility with the latest features and improvements.
- Form Integration: Unlike the original repository, where the input field lacked a form, I have incorporated a form element. This was found when a test case continuosly kept failing and thereby proving its worth and fixed the issue.
- Enhanced Styling: To improve the visual presentation of the project, I have applied basic styling enhancements. These changes contribute to a more polished and user-friendly interface.
This repository reflects my ongoing exploration of TDD and clean code practices, marking a step forward in my professional development journey.