ClarionLive show notes for August 30 2013

ClarionExchange

In the works: a possible ClarionLive class exchange/repository, perhaps on GitHub.

DevCon update

August pricing extended for one more week!

There will be a phone app available to keep you up to date at the conference, using Bizzabo. This app is restricted to those attending the conference. 

Tom Hebenstreit gave a brief preview of his session on using virtual machines.

Code smell

This week's code smell: Primitive Obsession, which is hanging on to native data types when a class would be a better choice. 

Special Presentation: Mark Goldberg

Mark talked about refactoring the UltimateDebug class. He started by changing strings that were getting clipped to cstrings that don't need clipping.

AsciiFileName was a string defaulted to a value, which restricted its length to 12 characters.

Mark broke down lengthy methods into multiple, shorter, more readable methods. He's not happy if he can't see all the code for a method on one screen. 

Mark also used the UltimateString class to replace a bunch of the string handling code. 

Lots of interesting tips in Mark's presentation, including a couple of undocumented RTL calls for event and field equate names.Mark is a hard core hand coder who takes a lot of care to make his code as clean and efficient as possible. Some good insights on debugging UI event handling as well. 

Mark's presentation ran longer than anticipated, so he finished out the webinar with a discussion of the Sublime editor, which devolved into code formatting questions and a demonstration of Keystone Source Search's text replace capabilities. 

John wanted to know why he would want to code in Clarion outside of the IDE. This is clearly an option mainly for devs who write a lot of classes or other hand code, and is more about editor stability, navigation and extensibility.

Mark showed a number of terrific features in Sublime. What it primarily lacks (at least in my opinion) is Clarion-compatible code completion and a full understanding of Clarion syntax.