SlideShare a Scribd company logo
Document your Development
Code
Copyright 2015. Jyaasa Technologies. http://jyaasa.com
http://jyaasa.com
Namaste !
I am Kapil Raj Nakhwa.
I am a Ruby enthusiast working
at Jyaasa Technologies !
Copyright 2015. Jyaasa Technologies.
1.
Documentations ..
you hate it.
“
http://jyaasa.com
If it is not documented, It does not exist. As long
as the information is stored in someone’s head,
it is vulnerable to loss.
Copyright 2015. Jyaasa Technologies.
http://jyaasa.com
Traditional Software Development Says...
oDocumentation helps Software Development
oDocumentation helps maintain Software Quality
oDocumentation makes it easy to Transfer Projects
Copyright 2015. Jyaasa Technologies.
http://jyaasa.com
Well, Screw it...
oKnow Your code
oLiterate your fellow programmers
oRemove accidental redundancies
oReduce overall development time
oHand over the project
Copyright 2015. Jyaasa Technologies.
“
http://jyaasa.com
You either know how to program and code, and
commenting is part of that, or you don’t. Either your
team knows some or doesn’t
Copyright 2015. Jyaasa Technologies.
http://jyaasa.com
oGreat way to solidify Ruby fundamentals
oMany prominent Rubyists and core contributors have
started out this way
Why You Should?
http://jyaasa.com
ordoc
oyard
oTomdoc
oSdoc
oDocumentup
orspec_api_doc
oapipie-rails
oAjax-rdoc
Awesomeness in our Toolbox...
Copyright 2015. Jyaasa Technologies.
http://jyaasa.com
ogem install yard
oyard doc
oyard server
oyard -help
Picking easiest one Yard
Copyright 2015. Jyaasa Technologies.
http://jyaasa.com
oyard server –reload
ohttp://www.rubydoc.info/
oTemplates : https://github.com/lsegal/yard/wiki/Templates
oExtend: http://yardoc.org/guides/extending-yard/writing-
handlers.html
oAwesome Tools:
oyard-blame https://github.com/lsegal/yard-blame
oyard-stick https://github.com/dkubb/yardstick
Why Yard?
Copyright 2015. Jyaasa Technologies.
http://jyaasa.com
Why Yard Meta Data Formatting
Available Tags:
http://www.rubydoc.info/gems/yard/file/docs/Tags.md#List_of_
Available_Tags
Copyright 2015. Jyaasa Technologies.
http://jyaasa.com
Compared to rdoc
Copyright 2015. Jyaasa Technologies.
http://jyaasa.com
In Yard
Copyright 2015. Jyaasa Technologies.
http://jyaasa.com
class MyWebServer
# Handles a GET request
# @param request [Request] the request object
# @return [String] the resulting webpage
def get(request) "hello" end
# Handles a POST request
# @note This method may modify our application state!
# @param (see #get)
# @return (see #get)
def post(request) self.state += 1; "hello" end
end
A documented class
Copyright 2015. Jyaasa Technologies.
http://jyaasa.com
--query 'has_tag?(:api) && tag(:api).text == "public"'
yard gems
yard server --gems
yard graph --protected --full --dependencies
Use Cases
Copyright 2015. Jyaasa Technologies.
http://jyaasa.com
You like Class Diagrams?
Have you ever generated one?
Do you know what it is?
Copyright 2015. Jyaasa Technologies.
http://jyaasa.comCopyright 2015. Jyaasa Technologies.
http://jyaasa.comCopyright 2015. Jyaasa Technologies.
http://jyaasa.com
brew install graphviz
gem install yard
yard -n
yard graph --dependencies | dot -Tpdf -o app_diagram.pdf
I Used magick to generate those! Here’s
the Spell:
Copyright 2015. Jyaasa Technologies.
http://jyaasa.com
Beside code docs. Educate yourself and
your team
Copyright 2015. Jyaasa Technologies.
http://jyaasa.com
Beside code docs
Copyright 2015. Jyaasa Technologies.
http://jyaasa.com
Beside code docs
Copyright 2015. Jyaasa Technologies.
http://jyaasa.com
Beside code docs
Copyright 2015. Jyaasa Technologies.
http://jyaasa.com
Beside code docs
Copyright 2015. Jyaasa Technologies.
http://jyaasa.com
Final Words...
Don’t be an asshole. Always document your code.
Copyright 2015. Jyaasa Technologies.
Search First
Reuse
Implement
Literate
Programming
PROCESS IS
EASY
http://jyaasa.com
Thank You for listening!
Questions?
Find me on Twitter @xecutioner303
or hit me kapil@jyaasa.com
Copyright 2015. Jyaasa Technologies.

More Related Content

PPTX
Good dev citizen
KEY
Wp and jq
PDF
QA 4 python
PDF
PHP Application Performance
PDF
QA on drupal projects
PPTX
AngularJs - From Heedless Meddler to Superheroic Assistant
PPTX
Active record in rails 5
ODP
Documenting code yapceu2016
Good dev citizen
Wp and jq
QA 4 python
PHP Application Performance
QA on drupal projects
AngularJs - From Heedless Meddler to Superheroic Assistant
Active record in rails 5
Documenting code yapceu2016

Similar to Document Your Development Code (20)

PDF
Web Development using Ruby on Rails
PDF
festival ICT 2013: Ruby, the 0.8 language you were looking for
KEY
A tour on ruby and friends
PPTX
Ruby on Rails : First Mile
PDF
FGCU Camp Talk
ODP
Telling not-asking
PPT
Rapid Application Development using Ruby on Rails
PPT
PPT
WorkinOnTheRailsRoad
PPT
Workin ontherailsroad
PDF
IJTC%202009%20JRuby
PDF
IJTC%202009%20JRuby
PDF
Ruby Metaprogramming - OSCON 2008
PPT
Java, Ruby & Rails
PPT
Ruby On Rails Seminar Basis Softexpo Feb2010
PDF
Culture And Aesthetic Revisited
PDF
Is Ruby on Rails Object Oriented? A Comprehensive Exploration
PPTX
Accelerate Your Business and Aim for the Cloud with Java and JRuby
PPTX
RoR guide_p1
ODP
Documenting Code - Patterns and Anti-patterns - NLPW 2016
Web Development using Ruby on Rails
festival ICT 2013: Ruby, the 0.8 language you were looking for
A tour on ruby and friends
Ruby on Rails : First Mile
FGCU Camp Talk
Telling not-asking
Rapid Application Development using Ruby on Rails
WorkinOnTheRailsRoad
Workin ontherailsroad
IJTC%202009%20JRuby
IJTC%202009%20JRuby
Ruby Metaprogramming - OSCON 2008
Java, Ruby & Rails
Ruby On Rails Seminar Basis Softexpo Feb2010
Culture And Aesthetic Revisited
Is Ruby on Rails Object Oriented? A Comprehensive Exploration
Accelerate Your Business and Aim for the Cloud with Java and JRuby
RoR guide_p1
Documenting Code - Patterns and Anti-patterns - NLPW 2016
Ad

More from Jyaasa Technologies (20)

PPTX
Incident management with jira
PPTX
Extreme programming practices ( xp )
PPTX
The myth of 'real javascript developer'
PPTX
Microservices
PPTX
Facade pattern in rails
PPTX
Scrum ceromonies
PPTX
An introduction to bitcoin
PPTX
Tor network
PPTX
Collective ownership in agile teams
PPTX
Push notification
PPTX
The Design Thinking Process
PPTX
PPTX
Design sprint
PPTX
Data Flow Diagram
PPTX
OKRs and Actions Overview
PPTX
Design Patern::Adaptor pattern
PDF
Association in rails
PDF
Web design layout pattern
PDF
Command Pattern in Ruby
Incident management with jira
Extreme programming practices ( xp )
The myth of 'real javascript developer'
Microservices
Facade pattern in rails
Scrum ceromonies
An introduction to bitcoin
Tor network
Collective ownership in agile teams
Push notification
The Design Thinking Process
Design sprint
Data Flow Diagram
OKRs and Actions Overview
Design Patern::Adaptor pattern
Association in rails
Web design layout pattern
Command Pattern in Ruby
Ad

Recently uploaded (20)

PDF
Odoo Companies in India – Driving Business Transformation.pdf
PPTX
Embracing Complexity in Serverless! GOTO Serverless Bengaluru
PDF
How to Choose the Right IT Partner for Your Business in Malaysia
PPTX
assetexplorer- product-overview - presentation
PDF
SAP S4 Hana Brochure 3 (PTS SYSTEMS AND SOLUTIONS)
PDF
Upgrade and Innovation Strategies for SAP ERP Customers
PPTX
CHAPTER 2 - PM Management and IT Context
PDF
Design an Analysis of Algorithms I-SECS-1021-03
PDF
top salesforce developer skills in 2025.pdf
PDF
Nekopoi APK 2025 free lastest update
PDF
System and Network Administraation Chapter 3
PPTX
Introduction to Artificial Intelligence
PDF
EN-Survey-Report-SAP-LeanIX-EA-Insights-2025.pdf
PDF
Raksha Bandhan Grocery Pricing Trends in India 2025.pdf
PDF
Navsoft: AI-Powered Business Solutions & Custom Software Development
PPTX
Oracle E-Business Suite: A Comprehensive Guide for Modern Enterprises
PPTX
L1 - Introduction to python Backend.pptx
PPTX
VVF-Customer-Presentation2025-Ver1.9.pptx
PDF
System and Network Administration Chapter 2
PPTX
Operating system designcfffgfgggggggvggggggggg
Odoo Companies in India – Driving Business Transformation.pdf
Embracing Complexity in Serverless! GOTO Serverless Bengaluru
How to Choose the Right IT Partner for Your Business in Malaysia
assetexplorer- product-overview - presentation
SAP S4 Hana Brochure 3 (PTS SYSTEMS AND SOLUTIONS)
Upgrade and Innovation Strategies for SAP ERP Customers
CHAPTER 2 - PM Management and IT Context
Design an Analysis of Algorithms I-SECS-1021-03
top salesforce developer skills in 2025.pdf
Nekopoi APK 2025 free lastest update
System and Network Administraation Chapter 3
Introduction to Artificial Intelligence
EN-Survey-Report-SAP-LeanIX-EA-Insights-2025.pdf
Raksha Bandhan Grocery Pricing Trends in India 2025.pdf
Navsoft: AI-Powered Business Solutions & Custom Software Development
Oracle E-Business Suite: A Comprehensive Guide for Modern Enterprises
L1 - Introduction to python Backend.pptx
VVF-Customer-Presentation2025-Ver1.9.pptx
System and Network Administration Chapter 2
Operating system designcfffgfgggggggvggggggggg

Document Your Development Code