Full ToC
[W5.2a] Requirements → Gathering Requirements → Brainstorming
[W5.2b] Requirements → Gathering Requirements → Product Surveys
[W5.2c] Requirements → Gathering Requirements → Observation
[W5.2d] Requirements → Gathering Requirements → User Surveys
[W5.2e] Requirements → Gathering Requirements → Interviews
[W5.2f] Requirements → Gathering Requirements → Focus Groups
[W5.2g] Requirements → Gathering Requirements → Prototyping
Prose
Feature Lists
User Stories
[W5.3c] Requirements → Specifying Requirements → User Stories → Introduction
[W5.3d] Requirements → Specifying Requirements → User Stories → Details
[W5.3e] Requirements → Specifying Requirements → User Stories → Usage
Glossary
Supplementary Requirements
Readability
[W5.4a] Implementation → Code Quality → Readability → Introduction
[W5.4b] Implementation → Code Quality → Readability → Basic → Avoid Long Methods
[W5.4c] Implementation → Code Quality → Readability → Basic → Avoid Deep Nesting
[W5.4d] Implementation → Code Quality → Readability → Basic → Avoid Complicated Expressions
[W5.4e] Implementation → Code Quality → Readability → Basic → Avoid Magic Numbers
[W5.4f] Implementation → Code Quality → Readability → Basic → Make the Code Obvious
[W5.4g] Implementation → Code Quality → Readability → Intermediate → Structure Code Logically
[W5.4h] Implementation → Code Quality → Readability → Intermediate → Do Not 'Trip Up' Reader
[W5.4i] Implementation → Code Quality → Readability → Intermediate → Practice KISSing
[W5.4j] Implementation → Code Quality → Readability → Intermediate → Avoid Premature Optimizations
[W5.4k] Implementation → Code Quality → Readability → Intermediate → SLAP Hard
[W5.4l] Implementation → Code Quality → Readability → Advanced → Make the Happy Path Prominent
Naming
[W5.4m] Implementation → Code Quality → Naming → Introduction
[W5.4n] Implementation → Code Quality → Naming → Basic → Use Nouns for Things and Verbs for Actions
[W5.4o] Implementation → Code Quality → Naming → Basic → Use Standard Words
[W5.4p] Implementation → Code Quality → Naming → Intermediate → Use Name to Explain
[W5.4q] Implementation → Code Quality → Naming → Intermediate → Not Too Long, Not Too Short
[W5.4r] Implementation → Code Quality → Naming → Intermediate → Avoid Misleading Names
Unsafe Practices
[W5.4s] Implementation → Code Quality → Error-Prone Practices → Introduction
[W5.4t] Implementation → Code Quality → Error-Prone Practices → Basic → Use the Default Branch
[W5.4u] Implementation → Code Quality → Error-Prone Practices → Basic → Don't Recycle Variables or Parameters
[W5.4v] Implementation → Code Quality → Error-Prone Practices → Basic → Avoid Empty Catch Blocks
[W5.4w] Implementation → Code Quality → Error-Prone Practices → Basic → Delete Dead Code
[W5.4x] Implementation → Code Quality → Error-Prone Practices → Intermediate → Minimize Scope of Variables
[W5.4y] Implementation → Code Quality → Error-Prone Practices → Intermediate → Minimize Code Duplication
Code Comments
[W5.4z] Implementation → Code Quality → Comments → Introduction
[W5.4A] Implementation → Code Quality → Comments → Basic → Do Not Repeat the Obvious
[W5.4B] Implementation → Code Quality → Comments → Basic → Write to the Reader
[W5.4C] Implementation → Code Quality → Comments → Intermediate → Explain WHAT and WHY, not HOW
Admin:
iP:
A-Assertions
, A-CodeQuality
, A-Lambdas
, A-Streams
A-Travis
tP: