[Fixed]-Correct workflow for a beginner – To use packages or don't

1πŸ‘

Although I agree with The Laughing Man that this is opinion based, I will give my opinion hoping it will help. I have worked with Django for quite a while now, and I have learned that the answer to your question is based on a few things; Does the package have all of the functionalities you need, and a little more in case you need it? Can you and will you want to extend the functionality of the package yourself eventually? And most importantly – is the package well maintained? I found that answering yes to those three questions usually meant it was a good bet to go with the package.

In your case – it looks like the package is very well maintained – so I would go with that assuming it meets the other 2 criteria (or django-allauth, which is also excellent). No point in reinventing the wheel, especially if someone has done it better.

πŸ‘€Hybrid

0πŸ‘

I agree with The Laughing Man and Hybrid for their respective view points. I have not worked with Django, but have worked with a large number of other frameworks.
I would like to add to what Hybrid has said – remember that Django is a framework and a framework usually consists of a set of packages most of which work in tandem with each other(for example a method in one package P1 may expect an argument that is actually obtained using facilities from another package P2).
Hence, if your code uses the packages available within Django then it will seamlessly work with other packages within the Django framework. If you are to (re)invent the wheel, then you may end up with some highly sophisticated and specialized functionality which would have the following characteristics:

  • Buggy – because you may not have handled all the use-cases and flows needed within that package.
  • Does not promote seamless integration with other core framework libraries. In which case you would need to write more code so that your specialized class works with the framework classes.

Re-inventing the wheel most often is a waste of time unless you are truly sure that you can solve the same problem in a real mind-blowing new way.

Leave a comment