Don’t rush features, Code quality matters

Code is what might scare most people to contribute to open-source. That’s a legitimate source of fear: you don’t want to share some code that other people could use to judge you because it is poorly designed.

But that’s actually what makes the strength of open-source: everyone can see your code! From my own experience, most people won’t give a shit about it and are just looking for the features. But some other people will spend some time going through your code, either to debug your project, to implement new features, or sometimes just for learning and getting inspiration from it.

Some people sometimes really read and try to understand your code!
Trust me, that kind of messages make you happy for the entire week!

So yes, everyone can see your code, most people won’t look at it but some will. And as scary as it is, this is a very important and positive point: yes, you will need to pay extra attention to what you commit, but that’s what will lead you to learn!

Code quality is important in the open-source, so take time to think! You are not working for a company, you don’t have deadlines except the one you defined: so there is no urge.

  • How are you gonna implement this feature?
  • How will you design your project?
  • What are the best practices to complete your task?
  • How to make your code cleaner and more efficient?
  • What do you want to learn?

Sure, this takes time, but that’s the most important part. This is how you are going to learn the most on the technical aspect. Of course you know how to develop most of the features. But are you developing them in the right way? Are there better ways out there? What are they and what is the most appropriate. You need to be able to justify every decision you make: don’t just code it that way because that’s the way you learned it.

And you know what? Because you spend time building your code, quality will improve and you won’t be afraid to make it public.

Sure, there might still be a better way to do it or some people arguing you could have done differently, but that’s not the point. If you spent enough time, you should have learned new knowledge and your code will have a good quality, and that’s the point!

Don’t rush for features. Take advantage of open source to take time to learn, build better code and be proud of it.