From: alex23 on
kj <no.em...(a)please.post> wrote:
> As my Python apps grow in complexity and execution, I'm finding it
> more often the situation in which a program dies after a lengthy
> (i.e. expensive) run because the execution reaches, say, a typo.

This is a good reason for breaking your program down into testable
units and verifying they behave as expected before a long execution
phase. You can get a long way with unittest in the stdlib, but I
personally prefer using nose[1], I find the tests to be less weighty
in boilerplate.

1: http://code.google.com/p/python-nose/
From: Bruno Desthuilliers on
Robert Kern a écrit :
> On 2009-10-29 16:52 PM, Aahz wrote:
(snip)
>> Coincidentally, I tried PyFlakes yesterday and was unimpressed with the
>> way it doesn't work with "import *".
>
> I consider "import *" the first error to be fixed, so it doesn't bother
> me much. :-)
>
+1 QOTW
From: Lie Ryan on
Aahz wrote:
> In article <mailman.2279.1256851983.2807.python-list(a)python.org>,
> Robert Kern <robert.kern(a)gmail.com> wrote:
>> I like using pyflakes. It catches most of these kinds of typo errors, but is
>> much faster than pylint or pychecker.
>
> Coincidentally, I tried PyFlakes yesterday and was unimpressed with the
> way it doesn't work with "import *".

If only IDLE's Intellisense worked without having to run the code first,
perhaps I wouldn't have abandoned using IDE altogether to write codes
and used vim/gedit/notepad/whateverpad instead. I've felt liberlized
since going plaintext.
From: Fabio Zadrozny on
On Thu, Oct 29, 2009 at 6:48 PM, kj <no.email(a)please.post> wrote:
>
> How can one check that a Python script is lexically correct?
>
> As my Python apps grow in complexity and execution, I'm finding it
> more often the situation in which a program dies after a lengthy
> (i.e. expensive) run because the execution reaches, say, a typo.
> Of course, this typo needs to be fixed, but I'd like to find out
> about it before I waste hours on a run that is bound to fail.  Is
> there any way to do this?  I imagine the answer is no, because
> given Python's scoping rules, the interpreter can't know about
> these things at compile time, but I thought I'd ask.
>

Pydev has a code-analysis feature which works analyzing the code while
you're typing. See: http://pydev.org/manual_adv_code_analysis.html

Cheers,

Fabio
From: Alan Franzoni on
On 10/29/09 9:48 PM, kj wrote:
> How can one check that a Python script is lexically correct?

You can use a pseudo-static analyzer like pyflakes, pylint or pydoctor.

Or, better, you can avoid wild imports, excessive local or global
namespace manipulation, and break you program in smaller parts and write
unit tests for them.

Typos are very common but should very easy to catch. If you're not
catching them until a very long run of your program, then your code
coverage is probably too low.

--
Alan Franzoni
contact me at public@[mysurname].eu