This shows you the differences between two versions of the page.
| Next revision | Previous revision | ||
| 
                    appendix:guidebook_authoring [2018/08/15 14:00] jguerin created  | 
                
                    appendix:guidebook_authoring [2018/08/15 16:22] (current) kericson [Terse is Almost Always Better] - better?  | 
            ||
|---|---|---|---|
| Line 6: | Line 6: | ||
| As coaches we also find ourselves sharing similar information year after year -- in practice sessions, in online discussions, | As coaches we also find ourselves sharing similar information year after year -- in practice sessions, in online discussions, | ||
| - | Finally, we are strong proponents of free and open source materials, so we wished to create something that anyone could use or adapt as they saw fit without any additioanl  | + | Finally, we are strong proponents of free and open source materials, so we wished to create something that anyone could use or adapt as they saw fit without any additional  | 
| ===== Overview ===== | ===== Overview ===== | ||
| Line 12: | Line 12: | ||
| * consistency in terms of structure (both overall organization and of page contents), | * consistency in terms of structure (both overall organization and of page contents), | ||
| * consistency in terms of tone (as though the entire endavor was written from the perspective of a single author), | * consistency in terms of tone (as though the entire endavor was written from the perspective of a single author), | ||
| - |   * easy to locte information, | + |   * easy to locate  | 
| - |   * coverage of the broadest possible set of topics  | + |   * coverage of the broadest possible set of topics  | 
| - | While the guidebook is most likely going to originate out of the efforts of UT Martin professors/ | + | While the guidebook is most likely going to originate out of the efforts of UT Martin professors/ | 
| + | ===== Tone and Structure ===== | ||
| + | ==== The Reader Is a Programmer ==== | ||
| + |   * While we hope that the guidebook will serve as a learning tool, our goal is not to teach // | ||
| + | * Articles should be written in a way that is accessible by programmers. | ||
| + | * Assume at least a semester of college level programming experience in //a// language. | ||
| + |   * While the goal is not to teach // | ||
| + | * Just about every programmer understands variables and loops, but not everyone has experience with all conventions. | ||
| + |     * E.g., Some imperative/ | ||
| + | ==== Adhere to a Hierarchical Structure ==== | ||
| + | * Try to use namespaces to preserve hierarchies. | ||
| + |   * Sections, subsections, | ||
| + | * If you need to deviate from hierarchy (e.g., in a much lower level section header) you may be using the wrong tool. | ||
| + | * E.g., Footnotes may be clearer. | ||
| + | |||
| + | ==== Whenever Possible, Speak Through Examples ==== | ||
| + | * A well-written example will often say everything that you need. | ||
| + |   * Try to build a reference around a series of instructional/ | ||
| + | * Algorithms will be handled differently by necessity. | ||
| + | * Many results can be explained //within// your code example with a quick comment. | ||
| + |     * E.g., ''# | ||
| + | * Keep explanations minimal when they are necessary to understand an example, and keep them close to the example. | ||
| + | |||
| + | |||
| + | ==== Start Simple, Build In Complexity ==== | ||
| + | * As you construct your examples, start with trivial and end with complex. | ||
| + | * This is not necessarily at odds with a hierarchy, in particular if your (sub)sections are planned in the same way. | ||
| + | |||
| + | ==== Terse is Almost Always Better ==== | ||
| + | * This page may be the worst example of this principle. | ||
| + | * Terseness in this page is sacrificed to produce consistency elsewhere. | ||
| + | * Keep editing to say everything in a few short statements. | ||
| + | * Pull content into auxiliary pages as necessary, make liberal use of links. | ||
| + | * Footnotes do a great job of retaining necessary text in place, but hiding it when it is not needed. | ||
| + | * Try to avoid excessive footnotes (many articles can suffice with an upper bound of 10-15 footnotes). | ||
| + | |||
| + | ==== Back Up Your Claims ==== | ||
| + | * Cite sources where possible. | ||
| + |   * Include sources of algorithms/ | ||
| + |   * Where time complexity is a concern((E.g., | ||
| + |   * Always produce clean and commented sources in the '' | ||
| + | |||
| + | ==== Be Consistent ==== | ||
| + | * While there may be several authors, the guidebook should be written from a singular perspective. | ||
| + | * Keeping other, similar guidebook pages in mind((Or on a secondary monitor?)) when you write can go a long way. | ||
| + |   * The two first guidebook articles were selected to display the appropriate tone: [[python3: | ||
| + | |||
| + | ==== Comment Your Edits ==== | ||
| + | * Even the first author occasionally forgets. Don't be like him. Comment your edits. | ||
| + | |||
| + | ==== Formatting Tips ==== | ||
| + |   * Make use of single '' | ||
| + |   * Use italics mode '' | ||
| + |   * Hack mathematical expressions with tags (e.g., '' | ||
| + | * Much of what we need to express for guidebook purposes can be written well (and look quite good on most browsers) with some creative hacking. | ||
| + | * Mathematics should be presented as we would typeset it in LaTeX. | ||
| + | * If examples emulate a shell, make it clear with symbols. | ||
| + |     *  E.g., '' | ||
| + | * Present results as they would look in practice. | ||
| + | |||
| + | === C++ Conventions === | ||
| + | |||
| + | === Python3 Conventions === | ||
| + | * Avoid the shebang line. Overall it will net a significant savings. | ||
| + | * In Python, use single quotes for characters, double for multi-character strings. | ||
| + | * No, this is not required by the language, but keeps examples consistent where they otherwise may not be. | ||