another docs problem - imp
rurpy at yahoo.com
rurpy at yahoo.com
Thu Jan 12 19:00:36 EST 2006
"Fredrik Lundh" <fredrik at pythonware.com> wrote in message
news:mailman.306.1136963981.27775.python-list at python.org...
> rurpy at yahoo.com wrote:
>
> > > from the find_module documentation:
> > >
> > > find_module( name[, path])
> > >
> > > Try to find the module _name_ on the search path _path_.
> > > If _path_ is a list of directory names, each directory is
> > > searched for files /.../. Invalid names in the list are
> > > silently ignored (but all list items must be strings).
> > > If _path_ is omitted or None, the list of directory names
> > > given by _sys.path_ is searched /.../
> > >
> > > it's not obvious how anyone can interpret the alternatives "a
> > > list where all items are strings / omitted / None" as "not a hint
> > > that a list is expected" and "a single string *should* work (i.e.
> > > be treated as a pathname, rather than a sequence)".
> >
> > Well, I interpreted the if's as describing special cases
> > addtional to the first sentence.
>
> The first sentence says that the _path_ argument is a search path.
> It does not say that it can be a string; that's something you made
> up all by yourself.
Correct it does not say it's a string. But your implication that
one can therefore conclude that it is not a string is silly.
>From unittest:
> assert_( expr[, msg])
> failUnless( expr[, msg])
> Signal a test failure if expr is false; the explanation for the error
> will be msg if given, otherwise it will be None.
I should conclude that msg is not a string because
it doesn't say it is a string?
> > May I suggest that the problem is easily fixed simply
> > by removing the first "if".
>
> Like
>
> Try to find the module _name_ on the search path _path_.
> _path_ is a list of directory names, each directory is searched
> for files.
>
> ? So what happens when pupry reads this, and gets annoyed that he
> always has to pass in a list ? It's probably better if you learn to read
> technical documentation a bit more carefully.
Reading more carefully is always useful. But that does
not remove the obligation of the writer to write clearly and
unambiguously. Why would pupry think s/he always has
to pass in a list when the syntax description clearly shows
the arument is optional, and the following "if" sentence states
it is optional? But perhaps you are right; perhaps something
like "_path_is a optional list of..." would be clearer.
> ... and don't give me any "you're defending the status quo" crap in
> response to this. There are lots of things to do in the library reference,
> and a few of us are working on it (using different approaches), but
> trust me, optimizing for a few
"optimize": to make as perfect, effective, or functional as possible.
(Merriam Webster New Collegiate)
"few" has nothing to do with it.
If this required a huge amount of work, your resistance
would be understandable. Since the wording changes
are petty minor your flamage over this is puzzling.
> 1 - I think I know how this works
Wrong, I had no idea how it worked and read the docs
first.
> 2 - oh, it didn't work. let's check the documentation
Yes, read it a second time, didn't see the alternate interpretation.
> 3 - I think I've found a way to interpret the documentation as if
> it allows me to do what I'm doing. it doesn't explicitly say that
> I can do this, but it doesn't explicitly rule it out either, so I'm
> probably right. I'll try again. maybe it works this time.
Nope. It was "hmm, seems to clearly state that it
takes a path argument." Since I was dealing with a
single directory, and (this stuff dealing with imports
and all) had just before been thinking about sys.path
solutions, I was primed to accept that the argument
was a string and assumed I must be doing something
wrong." <later> "Is there any source? Nope
must be C." <later> "How about google". Oh here
is someone with same problem, Damn, no answer.
Ohh here is some one else, different problem but
he tried both find_module(..,"xxx") and (..,"[xxx]")
and the latter didn't generate the error message.
> 4 - (2 hours later) maybe I should try one of the alternatives that
> is mentioned in the documentation. oh, it did work if I follow the
> instructions. now I'm REALLY pissed, and am going to spend
> another hour arguing about this on the internet.
No. As I said, I did not see your way of interpreting the
documentation until you posted. And I had no plans
to argue about it. I posted for the reasons I gave,
and made a suggestion about how the documention
could be improved.
Well, in your attempt at mind reading you at least
got one out of four.
> practitioners, over the
> 1 - I think I know how this works
> 2 - oh, it didn't work. let's check the documentation.
> 3 - it says "can be a list" or "can be omitted". let's try one of
> those. oh, it worked.
How about
1 - read some clear unambiguous documentation.
2 - write the code and it works as described.
My grandfather used to own a hardware store.
He frequently said he took every customer
complaint very seriously. "For every customer
who complains, there are a 100 that just take their
business elsewhere."
I wonder how many people had a problem with
this and lost time. Not as extreme as my case,
maybe just rereading it a few times. And of course
this particular piece of documentation is not an
isolated instance. If you are happy with the status
quo, if it is "good enough" fine. I am not.
...snipped long anacdote about busses...
More information about the Python-list
mailing list