Slide 1

Slide 1 text

『生涯に書いたRubyコードの 行数はどれぐらいですか?』

Slide 2

Slide 2 text

No content

Slide 3

Slide 3 text

聞いたわけ • セッション 「ソーシャルコーディング」 のペア分けを、同じレベルぐらいの 人同士にしたかったから。 • 当日、会場でのペア決めは難しそうだった • 回答が難しくない質問にしたかった

Slide 4

Slide 4 text

回答は大喜利に • このまま闇に消えるのは惜しいので、 「回答者は伏せて」紹介したいです。 • 「おれの回答だわー」というのがあれば、 それσ(゚∀゚オレオレ!! とつぶやいてね! • Q. このLT完全に他人のフンドシじゃね? A. その通りです、すみません

Slide 5

Slide 5 text

TokyuRubyKaigi05 Rubyistに 生涯に書いたコードの行数を 聞いてみた Katsunori Kawaguchi @hamakn 2012-07-29

Slide 6

Slide 6 text

自己紹介 • 川口 克則 @hamakn • 活動: yokohama.rb(from 練馬) 時々、Rails勉強会東京、Heroku方面 • OSSなPaaS、Cloud Foundryの Contributor(いちおう)

Slide 7

Slide 7 text

有効回答数: 145件 (うち数値: 107件) アンケート期間: 2012年5月7日~6月2日

Slide 8

Slide 8 text

再頻回答 (7人)

Slide 9

Slide 9 text

お前は今まで食ったパンの 枚数をおぼえているのか? l / / l / / ,,.. --‐--ニ二 ./ ̄ ̄ ̄ ̄ ̄ ̄ /¨i i/! ミ | お パ 今 お 、、./-ソ ./ / \ 、 _二ニミ | ぼ ン ま ま ミ / / ! \、ヾシ;;;/ | え .の で え ヽ. !、 \ ヽ、._,,,;';;/ ,.,.レ | て .枚 食 .は l. l l゙ヽリ .,;;;;;;/__,ィイ/ミ | い .数 っ . ,、/ l l/ !,,,;;;;/r'´iヘツ | る を .た !!゙丶,,,,..ヽ,';;;// ',.-‐'" _ | の ヽミニ=;;ヽ ‐- 、  ̄ ̄ < か . ヽヽ-ツ/ ', | ? ヽ ', !./.: \______ ヽ', / .j ,.._ ',ヽ¨´::::ノ ', `¨__,.. __,. ', 、.ニフ'´ . ', ヽ_,.-‐-' /ミヽ、 , ,.. - . /--' !ヽ i /:::::;::::: . /=、 / ', ヽ _,.!::::::'::::::: / i ヽ、 _/:::::;::::::/ /=-' ノ _,,. ''" ̄ノ:::;::'::/:_;;;; / //:::::::;;:-‐':::/::/:://:::

Slide 10

Slide 10 text

再頻回答からの変化形

Slide 11

Slide 11 text

ヒント:パンの枚数

Slide 12

Slide 12 text

これまでに食べた パンの枚数よりは多い

Slide 13

Slide 13 text

実際に計ってみた (2人)

Slide 14

Slide 14 text

find . -name *.rb | grep -v vendor | xargs wc -l | tail -1 64498 total

Slide 15

Slide 15 text

some concrete numbers: (サービス名): 13792 LOC (サービス名): 1777 LOC

Slide 16

Slide 16 text

マジレス

Slide 17

Slide 17 text

こちらを参照ください。 https://github.com/*** (2人)

Slide 18

Slide 18 text

コードの行数でプログラマの 価値を計るんですか? ごめんなさい、 せいぜい数千行ぐらいです。

Slide 19

Slide 19 text

もう行数で計るのは やめましょうよ…;x; ペアプロは何度か やったことがあります!

Slide 20

Slide 20 text

Many tens of thousands of lines, but a better Ruby programmer could probably do the same in 1/10th the number of lines.

Slide 21

Slide 21 text

ネタレス

Slide 22

Slide 22 text

まだ生涯が終わってないので わかりません。

Slide 23

Slide 23 text

530000

Slide 24

Slide 24 text

4423 • 20番目のメルセンヌ素数 24423-1 = 0b111...........................111 が素数となる。 1332個 _______,.ヘ、 几三三三 三三三三ヘ、 __ ,、 (_ノ,'三三',||,'三三',厶K ___,.ベー 、ヽ`ヽ. / > ト‐三三┘└三三‐へ.| 匚l f^ヽ_) ヽ┘// | E三三l E三三l l'´l 匚l l 「了_ ク>「了 . し'´ ̄ ̄l lニニニ辷'__ノ 厂| l l |`ヾ〆、 | | __ ┌┐ . └──── ァ / | l | ヒ´_ヘ._)__| | || | | 厶' 弋__ノ し  ̄ ̄ ̄ ̄し || | | 「 ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄丁 /´> , l | | /´> ` ̄ ̄ ̄ ̄ ̄ ̄ ̄ | | / / / ,' | | / / | | / | / / | l/ / ___」 イ /l | <__/ L.__/ \___ イ l | 「 ̄ ̄ ̄ ̄ ̄ ̄ ̄ | .l | COIL A CIRCLE OF CHILDREN ` ̄ ̄ ̄ ̄ ̄ ̄ ̄└┘ ∟l

Slide 25

Slide 25 text

100 • (※Rubyの本を書いている方の回答)

Slide 26

Slide 26 text

統計情報 • 中央値は3000でした。 12 21 45 19 10 0 5 10 15 20 25 30 35 40 45 50 1,2桁 3桁 4桁 5桁 6桁以上

Slide 27

Slide 27 text

コードの行数 (LOC, lines of code) • いまさらですが、誤解されないために • Wikipediaより – 同じまたは類似の処理をコピー&ペーストすれば LOCは簡単に増える – 無駄な処理をしたり効率の悪いアルゴリズムを使っ たりすればLOCは増えることが多い • 今回の用途であればセーフだ(と思うのです) が、 採用や品質測定にLOCを使うのは、 ダメ、ゼッタイ。

Slide 28

Slide 28 text

班分けの方は・・・ • 班分けを事前に行い、 参加者に受付でご連絡 • 事後アンケートでは おおむね好評でした。 • もっと良い質問のアイデアがあれば 教えてください!

Slide 29

Slide 29 text

まとめ • 「生涯に書いたRubyコードの行数」を Rubyistに聞くと、約5%の確率で、 DIO様のような回答を得られます。 • これまでに書いたコードの行数を、 重要な指標として使うことは やめましょう。

Slide 30

Slide 30 text

おしまい