-
Coding
- How long did you spend on this assignment?
I would say in total this assignment took me around 5-6 Hours, but I also went a little overboard with the customization so had I just done the barebones requirements it could have taken maybe an hour or more less.
- Where did you spend the most time? Fixing configuration, figuring out Typescript, designing your API, writing tests, debugging your request handlers, etc.?
I spent the most time adjusting my endpoints to accept more than one type of query (id, author_id, title, pub_year etc.). But understanding exactly how the test setup should be was a close second, once I understood that the rest of the tests went by a lot smoother.
- What did you struggle with the most? What would've improved your experience on this assignment?
I would say I strugged the most with the small intricacies of the sql statements, as I had forgotten about still needing quotes around string values, and that probably caused a lot more frustration that it should have.
- How long did you spend on this assignment?
-
Typescript
- Keep track of the bugs Typescript helped you catch and the ones it didn't catch. What are some of the issues Typescript helped you prevent? What are some of the holes in the type system?
- What kinds of values did you struggle to type correctly? Are there any Typescript topics that are still confusing you?
I cannot remember the type checking of Typescript helping stop any bugs that I would have created, although it did make me have to more conciously think about what I was sending back in the responses, as I had to type my responses.
I didn't particularly struggled with any of the typing, rather it just took a little more general thinking about typing my responses.
-
Testing
- What was your experience writing tests? Was it boring, soothing, rewarding? How did they affect your development process?
- Did your tests help you find any bugs? If so, which ones?
- How would you structure your testing differently in the future? What did you learn while testing?
I would say my experience with writing tests was a way for me to confirm that I wrote my endpoints correctly as I was able to check all the cases I wrote for. I would say after I wrote each endpoint I then wrote the tests associated with them, which did add a little more time but it also added more certainty that they were implemented how I was expecting them to.
My tests had helped me see that when I was testing if an author had any books associated with them, that I was checking if there were any books after attempting to delete the author and not before hand. My tests also helped me realize that I still needed quotation marks for the queries I was writing that were checking for strings.
I think I would structure my testing the exact same in the future since this style helped me make sure everything was correct. I would say I learned about how to test endpoints in a programatic way, as before in 375 I had only tested the endpoints manually.