← Return to Archives

Assignment Reflection: Coding, TS, & Testing

Coding & Configuration

I spent about 16-20 hours on this. A major portion of my time was lost to "analysis paralysis"—I was trying to be perfect and was so confused about how to start that I couldn't get myself to code easily, even with a plan. While joining the Author and Book tables was a struggle at first, it wasn't as hard as the initial mental block of starting the project.

TypeScript Experiences

TypeScript helped me identify the "ghost" errors between ES modules and CommonJS. I had to specify my request and response data types just to pass the linter. It was confusing to see the difference between exports.function and export function compared to the JS project I did last quarter. It also prevented a major bug where I tried to use a string ID for a numeric bookDB entry.

The Testing Process

Testing was actually soothing; seeing those green "loops in my code" pass was a great feeling. I learned that Zod catches top-level errors earlier than I expected. I also realized that for DELETE requests, I shouldn't send back a "deleted successfully" message—a 204 No Content is the standard.

LLMs and Learning

I used LLMs to set priorities and review bugs when I was stuck for too long. They made coding more fun and saved time, but they were a "bad temptation." I felt tempted to advance too fast, which put me on the border of actual learning versus completely relying on AI.