My two main projects and their flaws.
My projects and their flaws.
So, I’ve made two projects (LinuxED and PySDK) and both of them are very formulaic…
They both use Pythons
input() function constantly and they both have a main menu that uses numerical selection to get things done. This is not Pythonic in the slightest, and it’s not a good way to handle things at all.
Here’s an example:
Then you’d type a number relating to the option you want to pick. Some users wouldn’t understand it and would get confused, this is not what we want. A better alternative is to make it argument based, so you can do things like
script.py --option option --option2 option2 and so on, which is more unified and explainable.
Both of my main scripts do things in the easiest way possible, like for example, PySDK does everything via
os.system() which can be considered old and should be replaced with
os.popen(). The other issue with
os.system() is that it uses the native shell to execute commands, which makes cross compatibility (something that Python is very good for) go down the drain.
PySDK is a cluttered mess and I’ve dropped support for it, but I have not dropped support for LinuxED. I’ve made multiple broken commits to LinuxED only to put in a more broken fix for them.
I do not comment my code usually. I just forget to in the moment. Then when I do, I don’t maintain comments and never add any new ones.
I do things in the easiest way possible rather than in the most efficient way.
I need StackOverflow 99% of the time.
Those are all the examples of inconsistencies and issues. Now a few of them are normal for most developers, but I would like to improve and become better, that’s why I’m writing this. As I continue I don’t think I’ve learned much, but over time it happens, so we’ll see where that goes.
Let me know what you think of this article on twitter @CreatableOG or leave a comment below!