DEV Community

Discussion on: Back to Square One

Collapse
 
dallgoot profile image
dallgoot

the question about "quality" is "how do YOU define it ?"
Are you talking about :

  • making a method in 3 lines instead of 20 ?
  • the separation in well-thought modules?
  • some principles : SOLID, DRY, KISS, etc ?
  • best practices for that language ? are they universall accepted ?

I used to think about all these topics at once leading to constant refactoring and failing at self-imposed deadlines.
Now i think as the deadline (for side project) as the estimated point of "robust code".
How to know when a code is robust ? with units tests.
So now refactoring is only made to pass the tests, assuring that the code has the more important quality : the lesser bugs possible.
Then with free time and motivation i can, later, try to optimize and the tests make it sure that i don't blow everything up.
Actually i blow things up often, but i'm at least aware of it and can fix it :)
So for side project deadline is not really set.
why ? because theres a billions side project made to learn a technology, rarely they are useful for anything else.
I, personnally, choose to take more time, and build something that - i think - can be of use.

I got plenty of technology/languages tests, i don't call them "projects" though.
To me a project is an idea, something useful that you can make in that new tech or that other one you are already expert at.
Just another point of view ;)

Collapse
 
thejoezack profile image
Joe Zack

I appreciate it!

My abstractions were weak, and I decided to tack things on rather than refactoring to accommodate. Also, 0% test coverage.

I definitely focused more on my vision for the project instead of the technologies but now I'm going back and rolling up my sleeves to learn more about Gatsby, React, and GraphQL.