Skip to main content
Participant
November 23, 2010
Question

Automated CF audit tool for CF9 / quality assessment of CF Code?

  • November 23, 2010
  • 4 replies
  • 1064 views

I am looking for the audit tool to assess CF maintainability, ease of use, customizability and overall quality of code - e.g. average lenth of methods, recurisve calls, etc. Does one exist?

Which criteria would you recommend me in assessing how well CF application is built? It' fairly large - around 50,000 lines of code.

Many thanks for your bright thoughts!

    This topic has been closed for replies.

    4 replies

    Participating Frequently
    November 28, 2010

    I agree with some others saying there is no tool that's going to do the complete job for you and if you really want a comprehensive code review you should hire someone to do it.

    There are however in general tools around that help one to do such a task. In the Flex and Java worlds PMD is very popular. And yes - it doesn't tell you your code is great or sh*t, but it will validate your code against a certain sets of rules that's seen as common sense or appropriate "best practices". Those rules might not fit your bill, that's why you need a human to work with those tools and to interpret their results in a way that makes sense for your business.

    In the CF world, there used to be a code review tool by Pete Freitag (quite a while ago, not sure what happened to that) as well as a bunch of little, very specific tools such as varscoper or scripts to check your codebase consistently uses cfqueryparam etc.

    K

    Community Expert
    November 23, 2010

    No, you're not going to find an automated tool that does this adequately. Hire someone to do the assessment for you. There are lots of people who can do this for you. I used to do this sort of thing quite a bit. Adam is certainly capable of doing this, I'm sure, although he's too modest to come out and say it.

    Auditing tools are good for things that can be clearly measured using numeric scales. The quality of code, generally, is not one of those things. Code performance, unit testing, etc - you can test those sorts of things.

    Dave Watts, CTO, Fig Leaf Software

    http://www.figleaf.com/

    http://training.figleaf.com/

    Fig Leaf Software is a Veteran-Owned Small Business (VOSB) on

    GSA Schedule, and provides the highest caliber vendor-authorized

    instruction at our training centers, online, or onsite.

    Read this before you post:

    http://forums.adobe.com/thread/607238

    Dave Watts, Eidolon LLC
    Participating Frequently
    November 23, 2010

    I think the reason why you'll not find (a good) tool that does what you're looking for is that so much of what you're looking to judge is purely subjective.

    • maintainability
    • ease of use
    • customizability
    • overall quality of code

    All things that differ from developer to developer.  What I may call 'quality' may be complete garbage to you.  App's written with a framework may not be 'maintainable' or 'easy to use' for someone who has no experience with frameworks - but that doesn't make it "bad (TM)".

    • average lenth of methods

    purely dependent on the needs of the method.  sure, in general methods should be succinct and focus on a particular task.

    • recurisve calls

    Is this supposed to be a good thing (tm) or a bad thing (tm)?  I just wrote a recursive function this morning.  It was necessary and efficient.

    If you're trying to judge an app then you should understand the language - dare I say you should be an expert.  If you're not then you should probably hire someone who is to do the code review.

    Inspiring
    November 23, 2010

    I can't imagine there'd be a tool that would evaluate the metrics you mention. A lot of them are subjective, for a start.

    What is the actual requirement you need to fulfil? I there a problem?

    50k lines of code is not a large amount of code, btw. That's a coupla weeks work for one developer. Faced with that volume of code, I'd just get an expert (Ray Camden or someone) in to audit it. It'd only be a few days work. It'd be better to get a human expert in to assay it than to try to run automated metrics on it.

    --

    Adam