Home
Homework 1 Reflection
- Coding
-
I spent about 6 hours on this assignment. I take long to complete assignments, so I would consider
this a pretty short time.
-
Most of my time was spent figuring out configurations and debugging some TypeScript syntax errors.
-
I struggled the most with TypeScript. I felt as if I was thrown into the deep end a little bit with
this assignment, as we didn't get much of a rundown on the differences between it and JS.
- TypeScript
- Maybe I didn't do enough code coverage, but I didn't find many bugs. This might be because of the
way TS is built. One issue I did consistently run into was related to was using
db.get vs
db.all. I understand why the specification exists, but
when the SQL query includes '*' I would assume it would automatically grab all from the table like
the query says.
- I'm not too sure what the first question is asking, but I still don't quite understand what "..."
before a variable does.
- Testing
- Personally, I love using Test Driven Development. I used the method to code this assignment, and
it made my process for coding a lot faster than if I wasn't writing tests. I find that writing
tests first gives me an outline for how I want my code structured and what aspects of code I need
to expand on. In regard to website development, this did change my process, as I normally don't
write test code. I found that writing tests gives me a better understanding of how my project works.
- The tests helped me find one bug. I originally had
/books/id and
/books/pub_year. If I didn't test
it, I wouldn't have found that they both map to
/books/id, thus causing an error
when a year is entered.
- I don't think I would change much at all. I would maybe have different files for different aspects
of the project. Other than that, I think my current method of coding works. I learned how to write
tests related to web development, which I have wanted to do for a while to be able to test my
personal projects.
- LLMs
- I only use LLMs as a last resort as they don't help me learn much (depending on how I use them). If
I have a problem that I wasn't able to solve myself, I look it up. If that doesn't help, I turn to
an LLM. I also use it to debug after I've tried debugging myself. Essentially, I use it when
I'm desperate. I'll admit that sometimes I'll fall into asking it to fix my problem rather than
what the problem is. This doesn't happen very often, though. I ask it questions about why something
is wrong (without fixing it for me). I don't want it to do the work for me, it actually drives me
crazy when it does.
- Using an LLM for coding does save me time if I use it right. Many times, I end up having to explain
why its own solution is wrong. At that point, I give up trying to "work" with it. For this
assignment, however, I felt that it helped me significantly in terms of TS. My goal is to always
use it as a tool rather than a crutch, because I want to learn.