Tutorial is difficult to understand.
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
Storm |
New
|
Undecided
|
Unassigned |
Bug Description
I found it very difficult to follow the Storm tutorial the first several times I tried to read it.
I was finally able to grasp the concepts when I worked through the tutorial refactoring the sample code with dotted module names.
In the Python Tutorial, BDFL states: "Note that in general the practice of importing * from a module or package is frowned upon, since it often causes poorly readable code."
In the article "Idioms and Anti-Idioms in Python" in the Python 2.5 documentation library, the first heading under "Language Constructs You Should Not Use" is "from module import *."
Isn't it a bit paradoxical then, that the first example line in the Storm tutorial is: "from storm.local import *"?
I have edited the tutorial to enhance its readability for newcomer's sake. A patch is forthcoming.
I generally consider "from storm.locals import *" as a short cut for use in the interactive shell, and usually use direct imports from the other modules in the storm package for real programs.
Your proposed changes to the tutorial do not match how we generally use Storm, so I would not be in favour of those changes.