Learning about software development
So I’m writing this because I don’t know when I will otherwise. Here are the main points I’ve learned while developing a fun and potentially useful side project:
- Planning
This one is incredibly important because you need to plan out everything from the tools you’ll use to how the user will interact will various buttons, menus, and prompts. This means going step by step from the high level overview to walking through a typical use case. User stories can help here, but can be limited because they might not direct you on exactly how something will happen.
- Figuring out the tools you will use
I’m including this one because knowing what you’re using and more importantly why you’re using it is a key part of program planning and development. I lost hours on this when I thought I could use Qt Python because it would be cross platform etc… I didn’t find out until I installed it started trying to use it that it wasn’t fully compatible with Anaconda(I still don’t know what it was that was causing it to break). It was only after losing more than a day to troubleshooting and eventually having to reinstall Spyder that I started working with Tkinter, and haven’t had any problems since.
- Reading everything and documenting it
For this reading the documentation of the tools you use is key because it will drive design decisions. Connected to the previous statement is documenting in code why you made those design decisons. I know one of the things I did in my code comments was put in a link to the documentation(s) at the top because I hated Googling around so much for everything.
- Readability
On the subject of documentation, making sure your comments and code are readable are key, this includes things like spacing indentation(tabs forever!) and trying not to have too many if any run-on lines. This is because you’ll close out what you’re working on one day, and you want to actually be able to understand it the next day.