How to use codemetrics to improvequalityChristian TraboldTYPO3 Conference 2011
Agenda What started one year ago What we improved What makes metrics sexy Questions & Answers
Downloads & Feedback Links and further information on http://www.delicious.com/christian_trabold/t3con11 Listening to you ...
About me Christian Trabold Senior Developer Web since 1999 TYPO3 since 2004 dkd since 2006 Focus on quality assurance Main...
What started one year ago                                   ci.typo3.org                          5Why? Personal itchWe sp...
Provide metrics forevery TYPO3 extension              http://www. ickr.com/photos/ uzo/97673183/
Our intention    We want to improve    everyday life of an TYPO3 developer    … while developing extensions.    … while in...
Meet the Tools  typo3.org               me                               tric                                      s.ty  c...
typo3.org - The repository Reliable repository Details for more than 5000 extensions Provides Data for ci.typo3.org       ...
ci.typo3.org - The worker      Runs analyses over and over again      Generates data for metrics      Triggered by new rel...
Crawling code for every exension in TER…We had to fix some performance issuesNow ci.typo3.org runs smoothly and provides in...
The GUI gets complex really fast.And we do have a problemwhich we share with the TER.
A lot of information - no good user interface.
We love Jenkins, but…      Jenkins is a wonderful tool,      but implementing a cool GUI can get quite      cumbersome    ...
Sonar (sonarsource.org)       Displays metrics nicely       Provides tons of graphs       Allows deeper code analysis     ...
Usecase: We need to evaluate extensions A LOT.Important: Find potential problems as early as possible.Screencast:Go to ci....
New challenge:    Search extensionsSo, now we have- the tools to evaluate extensions- the metrics to see quality of extens...
A typical use case      I want an extension to search content      which is written against TYPO3 CGL      and has a manua...
Search parameters       I want an frontend plugin       which has < 30% violations       and has a le doc/manual.sxw      ...
Re-Think „Search“  We need a new search badly.  Why not combine  powerful metrics with a powerful search?  Here are some i...
Simple search interface
Filter search resultsMetrics get search parameters
Comprehensive details
Useful statistics
RSS feed for notifications
Demo
The complete application stack                                         me                                              tri...
This is just a beginning Get noti cations on new extensions meeting your search criteria Build a semantic view of TYPO3 ec...
New perspectivesExample based on https://github.com/skurfuerst/ter-rdf-schema
See the connecting dotsExample based on http://mbostock.github.com/d3/
Very important    Provide a sane ext_emconf.php for your    extension.    Update dependencies & con icts    Update require...
Managing   input + output for TER content                                     me                                          ...
Lets call the new toolter.io
Status: Prototype Weve got a prototype running Public version planned end of 2011 Bookmark http://ter.io Follow @ter_io Ge...
dkd                                      development                                      kommunikation                   ...
How to use code metrics to improve quality
Upcoming SlideShare
Loading in...5
×

How to use code metrics to improve quality

1,722

Published on

You will learn what we started one year ago with ci.typo3.org, what we improved and what makes metrics sexy.

Published in: Technology
0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
1,722
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
0
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

How to use code metrics to improve quality

  1. 1. How to use codemetrics to improvequalityChristian TraboldTYPO3 Conference 2011
  2. 2. Agenda What started one year ago What we improved What makes metrics sexy Questions & Answers
  3. 3. Downloads & Feedback Links and further information on http://www.delicious.com/christian_trabold/t3con11 Listening to you on twitter #t3con11-qatalk Ask! It‘s okay to ask after the talk :) Meet me! At the dkd booth!
  4. 4. About me Christian Trabold Senior Developer Web since 1999 TYPO3 since 2004 dkd since 2006 Focus on quality assurance Maintainer of ci.typo3.org Author of TYPO3 Kochbuch, O‘Reilly E-Mail christian.trabold@dkd.de Twitter @ctrabold
  5. 5. What started one year ago ci.typo3.org 5Why? Personal itchWe spent far too much time on looking on bad code.
  6. 6. Provide metrics forevery TYPO3 extension http://www. ickr.com/photos/ uzo/97673183/
  7. 7. Our intention We want to improve everyday life of an TYPO3 developer … while developing extensions. … while integrating extensions. … while publishing extensions.We need to find good extensionsdeveloping = constructive feedbackintegrating = now flaws befor they find youpublishing = meet the users
  8. 8. Meet the Tools typo3.org me tric s.ty ci.typo3.org po3 .or g metrics.typo3.org ci.t ypo 3.o rg TE RNow we have these components:
  9. 9. typo3.org - The repository Reliable repository Details for more than 5000 extensions Provides Data for ci.typo3.org TE R
  10. 10. ci.typo3.org - The worker Runs analyses over and over again Generates data for metrics Triggered by new releases ci.t ypo 3.o rg TE RWe created ci.typo3.orgto aggregate technical informationwhich is not available within TER.
  11. 11. Crawling code for every exension in TER…We had to fix some performance issuesNow ci.typo3.org runs smoothly and provides information on each new extensionrelease.
  12. 12. The GUI gets complex really fast.And we do have a problemwhich we share with the TER.
  13. 13. A lot of information - no good user interface.
  14. 14. We love Jenkins, but… Jenkins is a wonderful tool, but implementing a cool GUI can get quite cumbersome Reason: complex GUI, not sexy enough Frankly the whole mission didnt workout the way we expected.There must be a better way for displaying Metrics!Use a specialized tool for the job // Use the tools for what they are intendedSo we took a look around: SonarJenkins = worker -> Sonar = dashboard
  15. 15. Sonar (sonarsource.org) Displays metrics nicely Provides tons of graphs Allows deeper code analysis me tric s.ty po3 .or g Running on ci.t ypo 3.o rg metrics.typo3.org TE RSonarSource = OpenSourceLooked good at the first sight, then I gave it a try - Now I love it!If you have questions about sonar:Olivier Gaudin (CEO and Founder of SonarSource)is speaking at the TYPO3 conference right after my talk in Room C.http://t3con11-frankfurt.typo3.org/sessions/acceptedpapers/paper/continuous_inspection.html
  16. 16. Usecase: We need to evaluate extensions A LOT.Important: Find potential problems as early as possible.Screencast:Go to ci.typo3.org (Search on metrics.typo3.org is broken)Find extensionkey through searchOpen detailsClick "Sonar" linkBrowse metrics
  17. 17. New challenge: Search extensionsSo, now we have- the tools to evaluate extensions- the metrics to see quality of extensionsBut, we still cant find them easily…
  18. 18. A typical use case I want an extension to search content which is written against TYPO3 CGL and has a manual and it should be an Extbase extensionIn technical terms this means...
  19. 19. Search parameters I want an frontend plugin which has < 30% violations and has a le doc/manual.sxw and it depends on EXT:extbase Currently NOT possible on typo3.orgAll these parameters are already available
  20. 20. Re-Think „Search“ We need a new search badly. Why not combine powerful metrics with a powerful search? Here are some ideas.As some of you know:dkd has quite some experience with "Search"
  21. 21. Simple search interface
  22. 22. Filter search resultsMetrics get search parameters
  23. 23. Comprehensive details
  24. 24. Useful statistics
  25. 25. RSS feed for notifications
  26. 26. Demo
  27. 27. The complete application stack me tric s.ty po3 .or g Sec ci.t uri ypo ty Bu 3.o llet rg ins Us er F TE eed R bac k SearchSearch combines all toolslinks to metrics & makes metrics searchable
  28. 28. This is just a beginning Get noti cations on new extensions meeting your search criteria Build a semantic view of TYPO3 ecosystem Valuable feedback & donations for developers Make awesome TYPO3 community visible
  29. 29. New perspectivesExample based on https://github.com/skurfuerst/ter-rdf-schema
  30. 30. See the connecting dotsExample based on http://mbostock.github.com/d3/
  31. 31. Very important Provide a sane ext_emconf.php for your extension. Update dependencies & con icts Update required TYPO3 & PHP versionsWe have these extension settings since ages!Use them!They are cucial for a better TER.
  32. 32. Managing input + output for TER content me tric s.ty po3 .or g Sec ci.t uri ypo ty Bu 3.o llet rg ins Us er F TE eed R bac k SearchIts managing the TER I/O.So lets call it...
  33. 33. Lets call the new toolter.io
  34. 34. Status: Prototype Weve got a prototype running Public version planned end of 2011 Bookmark http://ter.io Follow @ter_io Get a "hands on" at the dkd booth!
  35. 35. dkd development kommunikation design Thanks!Thanks - you are a terrific crowd :)

×