Using the VFPX Code Analyst

The Code Analyst is a tool in VFPX designed to make FoxPro application development and code maintenance easier. It combines the extensibility with a Code references-like interface, analyzing pieces of code or entire projects and identifying key areas for refactoring – similar to the Code Analysis tool in Visual Studio.

You can identify your own project rules to highlight key areas of your application that may not match your own coding standards.

A PDF version is available here

Alerting Users in your FoxPro Application

Every application needs a way of notifying users about something. The first “something” that may come to mind is an error, which unfortunately, needs a very special kind of alert or handler. But there are lots of other events that users need to be aware of, whether you as the developer plan for them or not. In January 2007 issue of FoxPro Advisor, Mike Lewis wrote about a forced system shutdown “event” that would let administrators get all users out of the system. If you are running a process that may take a while, you might need to let users know when it has been completed. If you have a large application, there could be many events that require user notification. Perhaps worse, there may be many events that your users could have reacted to, “if only they had known” before something was happening. Some applications rely on reports to display this information – but why waste paper when you can simply alert users to an event?

Refactoring in Visual FoxPro

(this article was written prior to the Code Analyst but identifies the origins of where this tool came from)
With the sheer number of functions, commands and tools available within Visual FoxPro, it’s easy to find more than one way to do the job.

So multiply the number of ways by the number of developers on your team, and it’s pretty easy to see why code maintenance is pretty important.

Refactoring is about making code more useable (not changing the functionality but making it easy to understand and maintain).

This article presents 3 core concepts:
1 – Never Use Keywords for variable or field names
2 – Use the most recent functions where appropriate
3 – Encapsulate, encapsulate, encapsulate

VFPX: New Tools based on Existing Code

Tools like Code Analyst and Class BrowserX all use code from existing Visual FoxPro tools. This is possible because in 2007, Microsoft released the code for all of their xBase components with a special license. This license allows developers to create and update components and applications based on these components. It explicitly gives two rights:

Copyright – “a non-exclusive, worldwide, royalty-free copyright license to reproduce the software, prepare derivative works of the software and distribute the software or any derivative works that you create”

Patent – “a non-exclusive, worldwide, royalty-free patent license under licensed patents to make, have made, use, practice, sell, and offer for sale, and/or otherwise dispose of the software or derivative works of the software”

There are some limitations; primarily that you can’t use the Microsoft name, must include any existing copyright notices, and that the software is provided “as-is” but the real benefit is with how it can apply to your existing applications. Want to build something similar to the Task Pane in your application? You don’t need to reverse-engineer it – you can simply look in the existing code and re-use it. Thanks to the Fox Team!