Great points. I'm just a self taught Python/Pygame coder who codes for fun. I don't know if I would enjoy the work on a professional level, but at 71 I don't have to be concerned about that. I take games and make a graphical computer version. I've coded Blackjack, Craps, Solitaire, Monopoly, Risk, and Sorry. I took a brief foray into Flutter and Dart to code a math version of the popular phone game Head's Up for my son who is a middle school math teacher. On another side trip I used MIT's App Inventor to code a real estate app that allows the user to quickly calculate and compare what to do with say a $1000 wind-fall. It shows the user how much interest they would save over the life of their mortgage if the plunked the $1000 on their mortgage as opposed to spending it elsewhere. But overall I really prefer Python.
--
I also like to go back and rewrite my previous code to attempt to incorporate best practices as you have outlined here. I especially need to concentrate on simplifying my functions. Thanks!