Title: multiprocessing doc organization impedes understanding
Type: enhancement Stage:
Components: Documentation Versions: Python 3.6, Python 3.4, Python 3.5, Python 2.7
Status: open Resolution:
Dependencies: Superseder:
Assigned To: docs@python Nosy List: davin, docs@python, pitrou, rhettinger, sbt
Priority: normal Keywords:

Created on 2014-12-22 23:58 by davin, last changed 2015-01-11 14:11 by pitrou.

Messages (3)
msg233030 - (view) Author: Davin Potts (davin) * (Python committer) Date: 2014-12-22 23:58
The organization and multiple sections of the multiprocessing module's documentation do not adhere to the Python Dev Guidelines for economy of expression, affirmative tone, and/or code examples.

Problem description:
The raw material and information in the multiprocessing module docs are good to excellent and very information rich -- the presentation of that information suffers primarily from its organization.
(1)  Too much information is presented in the same or neighboring subsections where the economy of expression guidelines would advocate for a different approach.  Specifically, section 17.2.2 "Reference" co-mingles discourses on usage topics with a description of the available objects and apis.  Section 17.2.1 "Introduction" does something similar and though some of this can be helpful in an intro section, it takes discourse a bit far at times, arguably losing its focus which is to clearly introduce the reader to the module and efficiently set them on a healthy path to understanding topics and establish sufficient comfort to begin working with the module.  Economy of expression would have us maintain focus in an Introduction or Reference section and re-organize such helpful discourses into supporting but distinct sections.
(2) Affirmative tone is not consistently used throughout the docs.  Multiple of the items under section 17.2.3 "Programming guidelines" leverage negative examples to motivate what should be done instead -- each of these can be rewritten in the way advocated in the Python Dev Guidelines for affirmative tone.
(3) Per the Python Dev Guidelines for code examples, examples should accelerate understanding versus alternative prose.  Code snippets showcasing internal behavior to the module, such as the "Beware of replacing sys.stdin" subsection inside "All start methods", should arguably have their example code blocks replaced with prose.  Section 17.2.4 "Examples" provides examples showcasing many facets all in the same example code block yet little to no supporting or motivating explanation is offered for each (more could be offered inline as well as outside as prose).

Suggested changes:
* Re-organize the single multiprocessing module doc into multiple in the style of the logging module.  Specifically, tutorials should be created to house the "bunny trail" discourses from the Introduction/Reference sections and a cookbook should be created to house the material from the Examples section.
* By de-bunny-trailing the Introduction/Reference sections, a more focused set of sections in the style of the threading module should result.
* Limited modifications to code examples are advocated only so far as they restore the affirmative tone as needed.
* New examples are not advocated as part of this issue; they are out-of-scope.

This issue is intended to add to the path started/advocated by Issue 22952.  It does not supplant but rather expands upon that issue.
msg233031 - (view) Author: Davin Potts (davin) * (Python committer) Date: 2014-12-23 00:00
I am happy to provide proposed patches but first can someone please clarify for me whether I should have those patches depend upon the patches from Issue 22952?
msg233855 - (view) Author: Antoine Pitrou (pitrou) * (Python committer) Date: 2015-01-11 14:11
> I am happy to provide proposed patches but first can someone please clarify for me whether I should have those patches depend upon the patches from Issue 22952?

This question is now moot :)
Date User Action Args
2020-05-31 13:11:27serhiy.storchakalinkissue23514 superseder
2015-01-11 14:11:09pitrousetnosy: + pitrou
messages: + msg233855
2014-12-23 06:44:22ned.deilysetnosy: + sbt
2014-12-23 00:00:13davinsetmessages: + msg233031
2014-12-22 23:58:11davincreate