XDC 2019, speaker Bob Keeney
We all make mistakes when it comes to projects - its part of the learning curve and its completely natural, as long as you learn from those mistakes. Bob Keeney from BKeeney Software has been developing in Xojo for over 17 years. Along the way he’s made plenty of mistakes and seen even more that hes had to fix. In this session, well go over some of the most common mistakes and how to move beyond them. Well cover coding, design, IDE, specific platform mistakes, database mistakes, and even business mistakes.
The 2019 Video is a little outdated as it’s using classic API so some of my major topics, like not checking for the Database.Error after every transaction aren’t true in API 2. Since I’m not using API 2.0 for any project, yet, I’m not up on those mistakes yet.
Always something to learn Bob. As I have aged, the “later me” can be only a few days removed from when I wrote code so there is a tight feedback loop set up to reinforce the need to write clear, commented code. Enjoyed,
Prompted by the Bob video, I used an enum for the first time in my code. Under like circumstances in the past, I have always made do with an integer. Progress.
Well some of is are still using Classic API for now and until API 2 becomes as reliable as the classic, as well as the fact I have almost 20 years worth of old code!
I mostly use Sqlite… I subclassed it to always check for errors and raise an exception if there was one… It has been many years since i checked a RecordSet for NIL in an If statement!
I also learned the hard way that single line If statements are a pain when debugging. After about the hundredth time it was an issue I stopped using them so much… I can be a slow learner!
There are time I use modules and submodules for string or other non integer constants as it lets me use autocomplete that only shows me the set of possibilities i want without getting a huge autocomplete with a lot of unrelated stuff…
I wish I could a constant goops in class like enums… Oh well.
and it is better to use enum name = 123 instead of intern hidden auto generated values.
it happen that you edit the enum later.
see screen video in 59996 - Issue with Enums