Importance of segregating code while building projects

Aman Khan Roohani
3 min readOct 11, 2021

Hi there! This is Aman, a Hybrid Flutter Developer currently working at Convey. As I was seated with my lapy open, wondered what work challenges we face and work-on nowadays.

I thought i should share this experience to people who are currently learning or even working on building software products. In my 2 years of experience while building apps and websites, what i’ve observed is our code is not just a series of commands. It actually has a soul and cares how you write it and so behaves accordingly.

Photo by Attentie Attentie on Unsplash

Your way of writing code tells people how much you care for it to grow and prosper. For that, you need to know more about how it behaves on certain conditions, implying just copy-pasting and knowing the operation won’t help you in the long run if working on building scalable and stable high-end products.

I’m gonna make you a Developer, but first i’ll make you a Soul-Coder: Anonymous

While spending so much time flirting with classes, crushing with variables and poking constructors i realised proper code segregation and usage of design patterns are necessary to ensure the code has the power to flow easily everywhere with ease, able to arrive wherever and whenever it is invited.

But that doesn’t mean you start with refactoring your code before even completing functionalities. What you need to make sure, especially upcoming developers is segregating code and applying good practices while working on the project and scaling accordingly as the project size increases.

A recent outage which happened on Facebook servers reflects that human error comprises of majority of the mistakes while building and maintaining projects, that is why it is also necessary to make sure that your code is easily understandable, modifiable, and replaceable as the requirements change.

What i’ve observed nowadays is the growing trend of developers relying on third party packages, plugins and even code. While this is beneficial on some use cases, but if you’re building a long term product then make sure you don’t rely on so many dependencies. They will have two drawbacks:-

  1. Dependencies which are not actively maintainable may break resulting in breaking your project.
  2. You may loose so many chances of learning some important aspects of code which may have been abstracted.

Also, the most important thing, don’t ever think that your code is all nice and refined now, it won’t be ever.. and that’s okay as long as there‘s a chance to make it better.

Also always think of the worst case while writing your code, this is what a programmer soul comprises-of. Remember that..

Enough of my thoughts! What other points do you think are missing here and should be added in this story? I would be so much glad to get feedbacks from my fellow developers.

Why not show support with some helpful claps ;)

Codebo! lorebo! jeetbo! re!

--

--

Aman Khan Roohani

Cross Platform Developer (Flutter) | Google Groups Contributor