Why Not Refer Open Source Project

avatar

With more and more project going open source, it is the best time to become a programmer and build something because you might have something to get started and thus you can build over it. Whenever an idea comes to my mind, the first thing I check if that project has already been coded and if that is open source or not. If it is, I just take some help from that repo and start building my own by adding more features to it.


PC: Pixabay.com

Let's say you want to build a game called TicTacToe on Hive, instead of start writing the code from the scratch, you head over to Github and search for TicTacToe and boom you get over 50K repositories. That means there are over 50K repositories with name as TicTacToe. Along with that, you can check the languages of the repository, so that you can check those repositories where you are comfortable with the language. If I had to look, I will start with JavaScript and then .Net because I am familiar with these two languages.

image.png

Though this is just a starting point. Then you can take a reference from that repo or clone it and start building on your own, say for Hive. Thus you actually can create a TicTacToe game on Hive Blockchain very easily if you know a little bit of blockchain.

This is how I approach any solution too. Not only for the project, but I also check GitHub if there is a better solution to do something than what I am doing. The other day I was creating an Angular Component called Image Preview, which will show the image and also you can pin, zoom in and zoom out the image inside the whole container. Now I could not find any Angular component for it, so what I have done is to head over GitHub and check if there is anything written for JavaScript and thus I have found it quite a few. Now for me its a matter of taking the JavaScript code and go through it and thus create an Angular Component out of it. And in a week's time, I have created a component for the same.

Thus again I have not found the exact thing which I needed but since we can look through the code in open source project, it becomes really easy to just get a reference and code it.

As a programmer we always think that should we just clone a repo and start or should we start something ourselves so that we will learn. Most of the beginner programmer do take the second approach, I have taken that approach too, i.e. start something from scratch. But believe me, it's good to learn the basics but if you want to build something for a real-world and if you have limited time then the basics will take up a lot of time of yourselves. I remember, last year I was building StackOverflow on Hive and I have started everything from scratch. I have even completed around 50% of it, but after that because of the time constraint could not finish the project. If I would have cloned any repo and thus built over it, I could have developed and deployed in whatever time I had.


PC: Pixabay.com

For learning purpose, it's better to start from the basics, but you can also learn from a project if you start contributing to it. This is why Open Source is so much flourishing because all the newbies now check the open-source project if they have any open issues to contribute. And when they start contributing to it, they start to learn from that. Bdw I am not advocating anyone how to go about it, but since I have learned it hard way it's better to tell what you might face down the line.

So I think if you are just starting out or if you are a seasoned developer, it's better to refer open source project for all your needs and thus build on that. Along with that it's better to start an open-source project than a closed source in that way you can find few more maintainers or coders for your project.


image.png

image.png



0
0
0.000
2 comments
avatar

I regularly check places like github or stack overflow for solutions in code form not for copy purposes but more so for "oh thats how that problem looks syntax wise in code". because some times going from a textual description to code can be a daunting task.

0
0
0.000