32
Code Metrics Automation Server Putne

Ruby codemetric automation server - Putne Introduction

Embed Size (px)

DESCRIPTION

on sep 21, 2013 at Naver Greenfactory(D2fest final) by nacyot(Kim Daekwon)

Citation preview

Page 1: Ruby codemetric automation server - Putne Introduction

Code MetricsAutomation Server

Putne

Page 2: Ruby codemetric automation server - Putne Introduction

Open sourceRuby

Code Metrics & VisualizationAutomation Server

Putne

Page 3: Ruby codemetric automation server - Putne Introduction

Putne 풋내 [ 푼내 ]

•Code metrics

•Automation server

•(Visualization)

•(Ruby / Git )

1. 새로 나온 푸성귀나 풋나물 따위로 만든 음식에서 나는 풀 냄새 . 2. 경험이 적거나 다 자라지 못한 어린 티를 비유적으로 이르는 말 .

Page 4: Ruby codemetric automation server - Putne Introduction

Metrics

•Econometrics

•Informetrics

•Cinemetrics

•Sabermetics

•...

Page 5: Ruby codemetric automation server - Putne Introduction

Code metrics

•Index of code quality

•Code coverage

•Complexity

•Duplication

•Code smells

•Churn / Bugspot

•...

Page 6: Ruby codemetric automation server - Putne Introduction

•There are many gems for code metrics

Ruby code metrics

https://github.com/metricfu/metric_fu/wiki/Code-Tools

Page 7: Ruby codemetric automation server - Putne Introduction

Ruby code metricsmetric_fu, saikuro-treemap, rcov, Simplecov,

cane, code_metrics, mutant, turbulence, brakeman, holepicker, bugspots, Outlaw, Git statistics, Excellent, laser, discover unused

partaials, flay, heckle, gauntlet, roodi, repodepot, rails indexes, consistency fail,

rails-best_practices,appraisal, reek, hopper, metriks, rubocop, ruby-lint, flog, pelusa, rbx

only, autometric video, Churn, old_yeller, tailor, PMD, rushcheck, saikuro, crap4r,

dont_repeat_yourself, perftools.rb, devtools, sandi_meter, code_rippa, doc printer ....

https://github.com/metricfu/metric_fu/wiki/Code-Tools

Page 8: Ruby codemetric automation server - Putne Introduction

metric_fu, saikuro-treemap, rcov, Simplecov, cane, code_metrics, mutant, turbulence,

brakeman, holepicker, bugspots, Outlaw, Git statistics, Excellent, laser, discover unused

partaials, flay, heckle, gauntlet, roodi, repodepot, rails indexes, consistency fail,

rails-best_practices,appraisal, reek, hopper, metriks, rubocop, ruby-lint, flog, pelusa, rbx

only, autometric video, Churn, old_yeller, tailor, PMD, rushcheck, saikuro, crap4r,

dont_repeat_yourself, perftools.rb, devtools, sandi_meter, code_rippa, doc printer ....

Page 9: Ruby codemetric automation server - Putne Introduction
Page 10: Ruby codemetric automation server - Putne Introduction

Automation server

•Web service

•Code climate

•Continuous integration

•matrica_fu

•cane, flog, reek, flay, saikuro, ...

•Self-hosted

•Putne

•use push hook ( Just add your repo url! )

Page 11: Ruby codemetric automation server - Putne Introduction
Page 12: Ruby codemetric automation server - Putne Introduction

Ci server

Github

Gitlab

PushHook

Putne

Page 13: Ruby codemetric automation server - Putne Introduction

Putne vs Code climate

•Putne

•is self-hosetd automation server

•is open source

•has extendability

•Code climate

•is commercial

•is web service

•provides limited report on purpose

Page 14: Ruby codemetric automation server - Putne Introduction

Code Climate

Page 15: Ruby codemetric automation server - Putne Introduction
Page 16: Ruby codemetric automation server - Putne Introduction
Page 17: Ruby codemetric automation server - Putne Introduction

Visualization

•is always starting point of statistical analysis.

•provides exploratory report.

•gives you bird-eye view of your projects.

•百聞以不如一見

Page 18: Ruby codemetric automation server - Putne Introduction

Statistical transformation

`

Page 19: Ruby codemetric automation server - Putne Introduction

Putne complexity sunburst

Page 20: Ruby codemetric automation server - Putne Introduction

Metric_fu

Sidekiq

Putne

Bitclust

Page 21: Ruby codemetric automation server - Putne Introduction

Activity calendar

Page 22: Ruby codemetric automation server - Putne Introduction

TOIBE Index

http://www.tiobe.com/index.php/content/paperinfo/tpci/index.html

Page 23: Ruby codemetric automation server - Putne Introduction

Repository has > 1 stars in github

Javascript 108566

Ruby 74634

Python 64129

PHP 53411

Java 52648

C 30880

C++ 22822

Objective-C 21555

C# 14145

Shell 13930

Page 24: Ruby codemetric automation server - Putne Introduction
Page 25: Ruby codemetric automation server - Putne Introduction
Page 26: Ruby codemetric automation server - Putne Introduction

Architecture

Page 27: Ruby codemetric automation server - Putne Introduction

Architecture

Page 28: Ruby codemetric automation server - Putne Introduction

Architecture

Page 29: Ruby codemetric automation server - Putne Introduction

Architecture

Page 30: Ruby codemetric automation server - Putne Introduction

Todo #1

Page 31: Ruby codemetric automation server - Putne Introduction

Todo #2•Other code metrics report

•Commit analysis / Blame

•Scoring and finding hotspot

•PDF export

•Github API

•Shell interface

•And there are many issues on putne github repo.

Page 32: Ruby codemetric automation server - Putne Introduction

Questions?