This project is read-only.

home.png Code Analyst

A development tool that helps FoxPro developers identify areas of code that should or could be refactored.


Note: this project has moved to GitHub:

Code Analyst is extensible, allowing developers to create their own refactoring rules and then enable or disable them as needed. Some of the code was based on the Code References tool.

Rules can be associated with different aspects of code. For example, an Object rule might analyse all objects on a form to ensure they are using a naming convention.

You can select to analyze an individual file, the current project or a directory (and subdirectories).

Code Analyst Default Rules.
Code Analyst Recompilation Notes

vfpxreleasesmall.png Latest Release of Code Analyst

Last edited Aug 22, 2017 at 2:57 PM by DougHennig, version 13


JimRNelson Jul 3, 2011 at 1:41 AM 
I have just downloaded the current version from here.

When I run it, I get the following error: File 'coderule.dbf' does not exist. on line 3 of fillrules

Akselsoft May 22, 2010 at 12:48 PM 
Nigel, please send it to me directly. We're trying to find an ideal way of loading in the items. You can update the XML file that is uploaded here if you feel comfortable doing it - but otherwise send it over. I love the idea of that script.


nigelgomm May 21, 2010 at 3:19 PM 
Thanks for this.
i have an "option explicit" script to warn where variables are used but not declared (using local,private,public,external or as parameters) within a function/method. Would you prefer i send to you for inclusion or update codeplex directly?

Akselsoft May 26, 2009 at 10:00 PM 
MK - check the version you are running. _CODEANAL is no longer in the code base.

mk_common Dec 16, 2008 at 2:39 PM 
giving error :

do analyst with "main.prg"

error as below :

Unhandled structured Exception

Error No 1098

Message : Unknown Member ) _CODEANAL.

Detail :

Procedure : analyze

Lineno : 452

warm regards,

MJindru Aug 21, 2007 at 3:31 PM 
At creating any index, please, use "SET COLLATE MACHINE" with remembering previewous COLLATE or use private datasession with collate machine otherwise VFP cuase error 112 Invalid key length.

Akselsoft Jun 29, 2007 at 1:04 PM 
Good idea - Franklin - we'll be sure to get this in.

FranklinGarzon Feb 19, 2007 at 2:51 PM 
I was a test CodeAnalyst and I change this options:

dockable=1 -mejor functionality.

on configureanalyst::command4::click: -mejor presentation when commandwindow is docked

MODIFY MEMO coderule.Script IN WINDOW (thisform.Name)

on configureanalyst::grdrules::alterrowcolchange: -fast performance when change between columns

IF RECNO()#VAL(this.tag)

Congratualtions, this is very cool.

lugreen1 Dec 12, 2006 at 11:46 AM 
get it