• It is based on my experience • I will share with you how to improving document maintenance environment • It’s not high level and no smart, but it’s realistic 3
Updating content on web browser and supporting version management. • Dividing code and document. Don’t support pull request workflow. • Don’t support localization. 6
• Wiki didn’t cover everything and every update. • Checking is very hard job that what is collect or not. • Halfway document disturbs my job. 7 I've decided creating document from zero.
localization • Structure of sentence is completely different • Many times, English needs longer sentence than Japanese • Machine translation is weird 11
localization • Structure of sentence is completely different • Many times, English needs longer sentence than Japanese • Machine translation is weird 12
• Connecting code and document • Too much comment in code for documentation • Programmer is NOT necessarily able to write high readability document • Most document generators don’t support i18n. 13 desc 'Returns your public timeline.' do summary 'summary' detail 'more details' params API::Entities::Status.documentation success API::Entities::Entity failure [[401, 'Unauthorized', 'Entities::Error']] named 'My named route' headers XAuthToken: { description: 'Validates your identity', required: true }, XOptionalHeader: { description: 'Not really needed', required: false } hidden false deprecated false is_array true nickname 'nickname' produces ['application/json'] consumes ['application/json'] tags ['tag1', 'tag2'] end get :public_timeline do Status.limit(20) end
Most swagger based document generators don’t support localization. • Many static site generators support Markdown format • We can add more contents like tutorials, getting started, SDK help and more! • We choose MkDocs for documentation. 28 https://www.mkdocs.org
• Document is not code • Too many comments are lower readability of code • Test code or kitchen sink is good tutorial for programmers • 1 correct code is more worth than 100 words 30