Jack wrote: > While enjoying the dynamic feature of Python I find it difficult to refactor > code without breaking it. For example, if I modify a function to take more > arguments, or arguments of different types, I'll need to manually find out > all places where the function is called and make sure I modify them all, > unlike in C/Java, where the compiler will do the work of checking function > signatures, etc. I suppose there isn't a strict mode in Python. It would be > helpful though, when I don't need things to be so dynamic, and this is often > the case, when it comes to function arguments and return values, for > example. Even a module level or function level flag would be very helpful to > find broken code. Or, are there any third party tools that do this? > >
> if I modify a function to take more > arguments, or arguments of different types, I'll need to manually find out > all places where the function is called and make sure I modify them all This is not necessarily true. I add keyword arguments to functions quite commonly and they don't affect any of the previously defined calls. If I do, a good editor with search/replace seems to do the trick. I find it quite uncommon to change the "types" of arguments, but when I do, I can use duck typing to work around that as well. Hang in there, you will get it. -Larry -- http://mail.python.org/mailman/listinfo/python-list