Newbie : checking semantics
John Machin
sjmachin at lexicon.net
Sun May 8 01:03:39 EDT 2005
On 7 May 2005 15:05:20 -0700, "LDD" <loicderoyand at yahoo.fr> wrote:
>Hi everyone,
>
>I am new to python and was very enthustic about its possibilities when
>I discover that python is really what it is : just a scripting
>language.
>
>What disappoints me is that pyton will happily accept and execute this
>code :
>
>if ( aConditionThatIsFalse ):
> AFunctionThatIsntDefined()
>
>print "Hello world"
>
and will happily and correctly print "Hello world" ... what's your
beef? You have tested one part of your program. Now, go away and test
the remainder of your program!
>The fact that python doesn't check if the symbol
>AFunctionThatIsntDefined is defined, is really bad
It does check, when you dereference the symbol.
If that dismays you, what about this:
def func1(argfunc):
argfunc()
or, a real practical example: reading a flat file with columnar data,
each column may need some conversion or data-fixing depending on its
type etc.
fixed_row = []
i = -1
for x in input_row:
i += 1
fixed_row.append([conv_func[i](x))
The dynamic nature of Python -- and there's a whole lot more than
functions (and methods) being first-class-citizen data objects --
allows much more code to be written faster cleaner fat-free and allow
more time for writing tests.
> when you develop big
>pieces of code. You will never be sure that your code is free of this
>kind of dummy errors and testing every possible execution paths is
>nightmarish !
What about
AFunctionThatIsDefinedButIsBuggyAndInsteadOfOrderingInPizzaLaunchesAPremptiveMissileStrike()
It is a nightmare, isn't it? If you are employed by a firm that makes
things like avionics, railway signalling equipment, or heart
pacemakers, would you please let us know the brand(s)?
>
>Is there a way to force Python to check the definition of symbol ?
No. However you may use pychecker to pick up the spelling mistakes and
a whole lot more besides.
More information about the Python-list
mailing list