Great feedback. We will need to investigate this some more to see what exactly 
the python's compiler package requires in terms of built-in modules. For now I 
opened CodePlex bug 563 so that we can include this important feature in our 
planning.

Martin

-----Original Message-----
From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of Michael Foord
Sent: Thursday, June 22, 2006 7:10 AM
To: Discussion of IronPython
Subject: [IronPython] Code Quality Tools

Hello all,

At Resolver we are looking into tools that we can use to provide simple
code hygiene checks. Check we're not shadowing built-in names, check for
unneeded import statements and unused variables; that sort of thing.

I know of three Python modules that do this. They all fail unredeemably
on  IronPython :

* PyLint

    Uses the compiler.ast module extensively

* PyChecker

    Does bytecode analysis

* PyFlakes

    Uses compiler.parse

(See also the previous email about coverage tools not working on
IronPython because "sys.settrace" is not implemented.)

We can use PyFlakes from CPython (and possbily PyLint- but not PyChecker
because it executes code), but that means our test code is dependent on
CPython.

So there are no native code quality tools that will work with
IronPython. This could be a barrier to entry for some projects who
consider using IronPython.

I realise it is not going to be high up the priority list, but if a
solution to this was possible it would be good.

One possibility is a pure Python ports of the parser module (which
should get the compiler and compiler.ast modules working). There is a
tool called EasyExtend which can generate CSTs in Pure Python, so it
could be possible to convert one of the existing tools to use this.

All the best,


Michael Foord
http://www.resolversystems.com
http://www.voidspace.org.uk/python/index.shtml

_______________________________________________
users mailing list
users@lists.ironpython.com
http://lists.ironpython.com/listinfo.cgi/users-ironpython.com
_______________________________________________
users mailing list
users@lists.ironpython.com
http://lists.ironpython.com/listinfo.cgi/users-ironpython.com

Reply via email to