Organizing is a concept that many people struggle with and eventually kinda sorta figure out down the line. I know its something that I struggle with daily, either physically or on my computer’s file system. Taking a look at my file system, all I know is that everything is everywhere and there once was a semblance of organization before I got lazy and started to not put files in their right place. There are some things in my file system that are in their correct place, basically only my school files just to make sure that I don’t spend too long searching for a critical file for class.
When it comes to physically organizing my space, its been a ride. I moved in to my first apartment with my fiancé back in May and only last month in December did we finally have a sense of organization in our place. The office was in a constant state of “it’ll be fixed soon” until then and only finally was the office and rest of the apartment organized. But unfortunately, I change up my desk setup every so often because I need a refresher of it. Thankfully it looks like now I’ve gotten the final set up with cable management and a more cleaner looking desk and this looks to have a lot more staying power than any of my previous setups.
While I spent a lot of time talking about my trying to organize an already disorganized thing (be it files or room), I want to talk about why organizing your file structure and code for a project from the get-go is so much more important than you might assume. Recently, one of my teammates decided to reorganize the project repo in order to have a clearer structure of what file does what and where things should go. While not revolutionary, it was really crucial to how our development will go in the future. Now knowing that the file called “gmaps.dart” is where the Googe Maps screen lives makes it easier to find and fix any potential errors and even test the errors/fixes that you make on it.
Having an asset folder is also crucial as you can dump your images (and give them descriptive names!) and then quickly add them to your screen without much issue. He has set this up at the best time: the beginning of the project because its so much easier to organize a few items instead of 15 different items.
On top of that, the actual code itself needs to be organized in a way that makes sense too. When designing code, if the language you are using has an entry point (the main function in Java, Dart, etc), you have two options for where to place it: the beginning or the end. There are pros and cons for each, which seem to be more about how you work personally. I rather have it at the top because its the entry point for the code, but having it at the bottom makes almost the same amount of sense.
When it comes to functions, having functions that call other functions close to each other is also good organization as you can more easily see what the function does and make sure that you pass/return the correct things in order to make the function work. Of course there are some exceptions to this rule, but by and large, having functions close to each other when one calls another makes it easier to compartmentalize your code.
There’s also the option of outsourcing your functions to other files in order to not muddle your main file and have different files for different operations which is hugely beneficial, especially if you have a bigger project.
Overall, there’s much to talk about when it comes to organization. Attempting to organize something utterly disorganized is a task in of itself, but rewarding at the end, but having something be organized from the get go is even more rewarding since you don’t need to go through that work to organize it. But it all comes down to if you are able to keep it up. Probably the hardest part about organizing is the simple idea of keeping up your organization, and while it may seem easier, you might slip up and forget and undo all your hard work to organize.
Start organizing your things in order to help clear yourself of time of finding things and to give yourself a nice feeling of knowing where everything is and not feeling anxious about the place around you.