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
git変更の可視化 #TechLunch
Search
Livesense Inc.
PRO
April 21, 2014
Technology
85
0
Share
git変更の可視化 #TechLunch
git変更の可視化
2013/07/24 (水) @ Livesense TechLunch
発表者:松永 一郎
Livesense Inc.
PRO
April 21, 2014
More Decks by Livesense Inc.
See All by Livesense Inc.
28新卒_Webエンジニア職採用_会社説明資料
livesense
PRO
0
55
27新卒_総合職採用_会社説明資料
livesense
PRO
0
4.6k
27新卒_Webエンジニア職採用_会社説明資料
livesense
PRO
0
9k
株式会社リブセンス・転職会議 採用候補者様向け資料
livesense
PRO
0
350
株式会社リブセンス 会社説明資料(報道関係者様向け)
livesense
PRO
1
1.7k
データ基盤の負債解消のためのリプレイス
livesense
PRO
0
600
26新卒_総合職採用_会社説明資料
livesense
PRO
0
13k
株式会社リブセンス会社紹介資料 / Invent the next common.
livesense
PRO
2
63k
26新卒_Webエンジニア職採用_会社説明資料
livesense
PRO
1
13k
Other Decks in Technology
See All in Technology
(きっとたぶん)人材育成や教育のような何かの話
sejima
0
650
コミュニティ・勉強会を作るのは目的じゃない
ohmori_yusuke
0
290
国内外の生成AIセキュリティの最新動向 & AIガードレール製品「chakoshi」のご紹介 / Latest Trends in Generative AI Security (Domestic & International) & Introduction to AI Guardrail Product "chakoshi"
nttcom
4
2.1k
巨大プラットフォームを進化させる「第3のROI」
recruitengineers
PRO
2
2.5k
アクセシビリティはすべての人のもの
tomokusaba
0
290
新卒エンジニア研修、ハンズオンの設計における課題と実践知/ #tachikawaany
nishiuma
2
130
Agent Skillsで実現する記憶領域の運用とその後
yamadashy
2
1.4k
Databricks Academic Series 〜 大規模言語モデル / エージェント編 〜 / academic-series-llm
databricksjapan
0
110
freeeで運用しているAIQAについて
qatonchan
0
230
AWS Transform CustomでIaCコードを自由自在に変換しよう
duelist2020jp
0
250
世界の中心でApp Runnerを叫ぶ FINAL
tsukuboshi
0
250
フロントエンドの相手が変わった - AIが加わったWebの新しいインターフェース設計
azukiazusa1
33
11k
Featured
See All Featured
The Art of Delivering Value - GDevCon NA Keynote
reverentgeek
16
1.9k
Docker and Python
trallard
47
3.8k
Six Lessons from altMBA
skipperchong
29
4.2k
4 Signs Your Business is Dying
shpigford
187
22k
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
234
17k
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
333
22k
Tips & Tricks on How to Get Your First Job In Tech
honzajavorek
1
500
Mozcon NYC 2025: Stop Losing SEO Traffic
samtorres
0
220
Into the Great Unknown - MozCon
thekraken
41
2.4k
Mobile First: as difficult as doing things right
swwweet
225
10k
Designing Dashboards & Data Visualisations in Web Apps
destraynor
231
54k
Getting science done with accelerated Python computing platforms
jacobtomlinson
2
190
Transcript
帰って来た、 みんなが使うべきOSの オルグ FreeBSD可愛いよFreeBSD
毎度毎度プレゼンテーションがそっけなくてすいま せん。 デザイン力皆無、質実剛健って事で許して下さい。
おぼえていますか? さて、 今Qのシステム開発部のドグマを
そうですね。 Growth最大化: commit & deliver ですね。
ということで当初の予定を 変更して、
commit&deliverの 見える化 それっぽいtoolを作ってみた。 gamification?
commit & deliverの見える化 livesene システム開発部のエロいエラい人の御言 葉で エンジニアは 基本的には 手を動かしてなんぼ がありますね。
エンジニアの仕事は • エンドユーザーとの調整 • チームのとりまとめ • 調査 などもあり、codeをどれだけ書いたかのみでは計 れないけれど、それも一つの指針になるんじゃな かろうか?
まー本来のcommit&deliverとは意味が違うけど、 • どんだけcodeを書いて(commit) ◦ codeを書いた量 • どんだけ機能を実現してきたか(deliver) ◦ pull req.をこなした量
という解釈を一旦強引にさせてもらいます。
という事でcodeへの影響具合をdb化してみた 軸として • commit情報 • commit時の各fileの変更具合 • pull reqによるmerge情報 をdbに入れてみた。
なんかOSSで既にありそうだけど車輪の再発 明たのしいれす
ちょっと工夫した所 • 対象repositoryとかbranchとか無視するべきfile とかはymlで外出しにして、柔軟性はある程度 確保。 ◦ mail addressのalias設定が出来る ◦ 複数のbranchを追える
◦ 集計対象外(例えば3rdなlibや自動生成fileやlogなど)を 設定出来る • dbの作成とdb作成と集計(表示)処理は分離。
表示もとりあえず作ってみた とりあえず、直近一年の月毎の • こなしたpull req.ランキング • 変更行数ランキング • commitコメントの平均行数ランキング を作ってみた。
http://git-statistics.matsunaga.local.livesense.jp/tallies
他に集計軸として • 個人を軸に毎月の成果を可視化して自分の生 産量を把握してみるとか。 • commitする際の変更file数からcommitの粒度 を出してみるとか(git流に整形してからpull req. 出してたら集計出来ないけどね) •
commit毎の変更行数からの集計じゃなくて、 pull req.毎の変更行数で出してみるとか(これ ちょっと面倒だし、今のdbのままでは多分無理) • とかとか。
いいわけ 本当はhtmlで吐いてconfluenceにblogとして投げ ようかと思ってたけど、表示する方が実装が面倒 臭くなさげなんで、viewを一応書いてみた。 まー本当にひどい見栄えですが、気にしないで下 さい。
最後に • 出来るだけ正確に値を取ろうとはしているけど、色々な要因 で正確では無い。 なので、あくまで目安としてね。 ◦ たとえば、gitはmvはdelete/newで実装されているので、 変更行が膨らみやすい。refactoringとかしているとガッ ツリ増える。 ◦
各projectでignore_pathsを調整してもらえると嬉しいな • 色々遅いので誰かtuningしてたもれ。 • 他の集計、誰か追加して。 • 各repositoryは、エイヤで追加してて、よくわかってないん で、各projectの人、ymlを修正してpull req.くれるとうれしい です。そんなわけでcospaとか派遣とか入ってないし。
本当に最後に。 作っといてなんだけど、 手を動かすの重要だけど、一番重要なのは健全な プロダクトで利益出す事なので、あくまで参考値と して捉えてね。