Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
How to Document Well*
Search
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
Asher Glick
January 30, 2013
Technology
1
79
How to Document Well*
Version 1 of how to document programs well
Asher Glick
January 30, 2013
Tweet
Share
Other Decks in Technology
See All in Technology
エンジニアとして長く走るために気づいた2つのこと_大賀愛一郎
nanaism
1
260
Digitization部 紹介資料
sansan33
PRO
1
6.7k
Riverpod3.xで実現する実践的UI実装
fumiyasac0921
2
350
ReproでのicebergのStreaming Writeの検証と実運用にむけた取り組み
joker1007
0
510
AI推進者の視点で見る、Bill OneのAI活用の今
sansantech
PRO
1
240
SMTP完全に理解した ✉️
yamatai1212
0
110
Bill One 開発エンジニア 紹介資料
sansan33
PRO
4
17k
Azure SRE Agent x PagerDutyによる近未来インシデント対応への期待 / The Future of Incident Response: Azure SRE Agent x PagerDuty
aeonpeople
0
230
Amazon Bedrock AgentCore 認証・認可入門
hironobuiga
1
390
GCASアップデート(202510-202601)
techniczna
0
200
EventBridge API Destination × AgentCore Runtimeで実現するLambdaレスなイベント駆動エージェント
har1101
7
270
2026年はチャンキングを極める!
shibuiwilliam
7
1.6k
Featured
See All Featured
How Software Deployment tools have changed in the past 20 years
geshan
0
31k
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
508
140k
Taking LLMs out of the black box: A practical guide to human-in-the-loop distillation
inesmontani
PRO
3
2k
A designer walks into a library…
pauljervisheath
210
24k
The Web Performance Landscape in 2024 [PerfNow 2024]
tammyeverts
12
1k
Typedesign – Prime Four
hannesfritz
42
2.9k
Pawsitive SEO: Lessons from My Dog (and Many Mistakes) on Thriving as a Consultant in the Age of AI
davidcarrasco
0
59
Code Reviewing Like a Champion
maltzj
527
40k
Test your architecture with Archunit
thirion
1
2.1k
Design of three-dimensional binary manipulators for pick-and-place task avoiding obstacles (IECON2024)
konakalab
0
340
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
49
9.8k
So, you think you're a good person
axbom
PRO
2
1.9k
Transcript
How to Document Well* Asher Glick V1.0
Three Key Parts to Documenting Understandable Comments in Code Provide
Screenshots or Pictures Wiki pages or Document Pages Install instructions or Setup How to use the program Dev environment Setup
Understandable Comments in Code When people are reading your code,
including yourself, they need to be able to understand what the code does without analyzing each line of code
Understandable Comments in Code Don't Comment Every Line This is
worse than no comments because now whomever is reading the code has to read twice as many lines
Understandable Comments in Code Don't only comment parts you don't
understand You will forget even the lines you did understand
Understandable Comments in Code Write a short statement what each
function does If you see that function called you can easily figure out what it does
Understandable Comments in Code Write a short statement what each
function does If that function is spitting out the wrong result you can easily discover that it is the problem
Understandable Comments in Code Write a short statement for large
blocks of code or conditional statements Because those should really be separate functions
Provide Screenshots or Pictures Screenshots help the user decide if
they want to use the program before they download or install it
Provide Screenshots or Pictures Screenshots help developers figure out what
is wrong when they see something that is out of place
Provide Screenshots or Pictures Don't provide fake screenshots or UI
that does not exist This confuses users disappoints them when they install or use the software They can be used as a "planned feature mockup" with proper identification
Wiki Pages or Document Pages The first three pages of
documentation 1) Install instructions or Setup 2) How to use the program 3) Dev environment Setup
The most important page! Wiki Pages or Document Pages Install
instructions or Setup
Wiki Pages or Document Pages Install instructions or Setup If
the user does not know how to get the program on their computer they can't fathom using it
Wiki Pages or Document Pages How to Use the Program
The user must know how to use the program How can they use it if they don't know how
Wiki Pages or Document Pages Developer Environment Setup After the
end-users are taken care of make sure the developers know how to setup the environment to develop in
Next Version (2.0) Examples with and without good comments Pictures
(Screenshots) because I said I should Example documentation pages Better Graphics, less words