Text
Page: 1
進め方
須藤功平
株式会社クリアコード
SEゼミ2015 - リーダブルコード勉強会
2015-06-06
進め方
Powered by Rabbit 2.1.7
Page: 2
SEゼミの立場一覧
✓ 参加者(みなさん)
✓ スポンサー
✓ 運営
進め方
Powered by Rabbit 2.1.7
Page: 3
立場別SEゼミの目的
✓ 参加者
✓ OSSを開発したい!
✓ スポンサー
✓ 一緒に働きたい人をみつけたい!
✓ 一緒にOSSを開発するとわかりそう!
✓ →参加者のOSS開発参加を支援
✓ 運営:↑をサポートしたい!
進め方
Powered by Rabbit 2.1.7
Page: 4
参加者のふるまい方
✓ 選ばれている!と気負わない
✓ 目的(OSSの開発)に集中すればよい
✓ スポンサー
✓ 本来の参加者に興味
✓ 仮面をかぶらない
✓ 入社→ミスマッチ→お互いに不幸!
仮面をかぶり続けられるならアリ
「m_seki ロールプレイングゲーム」で検索
進め方
Powered by Rabbit 2.1.7
Page: 5
スポンサー
✓ たくさんいる
✓ 勉強会中
✓ 企業は気にしない
✓ 担当メンターの人から学ぶ
✓ ランチ・懇親会
✓ 様々な企業の様々なメンターと交流
✓ →今まで知らなかった新しい視点!
進め方
Powered by Rabbit 2.1.7
Page: 6
スポンサー(1)
✓ クラウドワークスさん
✓ エス・エム・エスさん
✓ 万葉さん
✓ スマートエデュケーションさん
✓ クックパッドさん
進め方
Powered by Rabbit 2.1.7
Page: 7
スポンサー(2)
✓ ビズリーチさん
✓ VASILYさん
✓ Treasure Dataさん
✓ ピクシブさん
✓ 楽天さん
進め方
Powered by Rabbit 2.1.7
Page: 8
スポンサー(3)
✓ CROOZさん
✓ ミラクル・リナックスさん
✓ フリークアウトさん
✓ ぐるなびさん
進め方
Powered by Rabbit 2.1.7
Page: 9
トレーナー
須藤
✓ 運営
✓ 進行と全体を気にかける係
✓ リーダブルコード(本)の
「解説」の著者
進め方
Powered by Rabbit 2.1.7
Page: 10
メンター
✓ 参加者のサポート係
✓ 現役超優秀エンジニア
✓ スポンサー企業または運営
✓ 新しい視点を与えてくれる
✓ →困ったり悩んだら積極的に相談
進め方
Powered by Rabbit 2.1.7
Page: 11
この勉強会の目的
参加者の
リーダブルコード力の
レベルアップ
進め方
Powered by Rabbit 2.1.7
Page: 12
目的の理由
OSSの開発に
役立つから
進め方
Powered by Rabbit 2.1.7
Page: 13
役立つ場面例
Pull Requestを送るとき
✓ 開発者にリーダブルなコード
✓ →なるほど、こうしたいのか!
✓ →話が進みやすい
進め方
Powered by Rabbit 2.1.7
Page: 14
参加者の目的の再確認
✓ SEゼミ
✓ OSSを開発したい!
✓ リーダブルコード勉強会
✓ リーダブルコード力のレベルアップ
✓ ↑はOSSの開発に役立つから
進め方
Powered by Rabbit 2.1.7
Page: 15
目的の実現方法案
1. テクニックを知る
✓ 本を読む(すでに読んだはず!)
✓ 教えてもらう
2. テクニックを見つける
✓ 他の人のコードを読む
進め方
Powered by Rabbit 2.1.7
Page: 16
テクニックを知る
✓ メリット
✓ すぐにレベルアップできる
✓ まとまっているから
✓ デメリット
✓ レベルアップに上限がある
✓ 明文化されていないテクニックは知れない
進め方
Powered by Rabbit 2.1.7
Page: 17
テクニックを見つける
✓ デメリット
✓ すぐには見つけられない
✓ まとまっていないから
✓ メリット
✓ レベルアップに上限がない
✓ 世の中には野生のリーダブルコードが
たくさんあるのだ!
進め方
Powered by Rabbit 2.1.7
Page: 18
テクニック発見パターン
1. よいテクニックを盗む
✓ この書き方読みやすいな!
✓ →自分のコードに取り入れよう!
2. よいテクニックを発想する
✓ この書き方読みにくいな…
✓ →こうすると読みやすくなるな!
進め方
Powered by Rabbit 2.1.7
Page: 19
目的の実現方法
1. テクニックを知る
✓ 本やWebサイトで学んで
2. テクニックを見つける
✓ この勉強会で体験して
進め方
Powered by Rabbit 2.1.7
Page: 20
実現方法の概要
コードを
読まざるを得ない
状況で開発
進め方
Powered by Rabbit 2.1.7
Page: 21
具体的な実現方法
1. 全員共通の課題を用意
2. 課題を実装
3. 実装を交換
4. 交換した実装で開発継続
✓ ↑他の人のコードを読まないと
継続して開発できない!
進め方
Powered by Rabbit 2.1.7
Page: 22
今日の流れ - 午前
✓ 10:00- 進め方の説明
✓ 10:40- 実装
✓ 12:00- 無料ランチ
(フリークアウトさん提供!)
✓ 13:00- スポンサーのLT
進め方
Powered by Rabbit 2.1.7
Page: 23
今日の流れ - 昼下がり
✓ 13:30- メビュー
✓ 13:40- チェンジして実装
✓ 15:30- グループふりかえり
✓ 16:10- ふりかえり内容紹介
進め方
Powered by Rabbit 2.1.7
Page: 24
今日の流れ - 夕方
✓ 16:20- メビュー
✓ 16:50- まとめ
✓ 17:00- 質疑応答
✓ 17:30- アンケート記入
✓ 18:00- 無料懇親会
進め方
Powered by Rabbit 2.1.7
Page: 25
参考情報
OSSの開発と
リーダブル
コード
進め方
Powered by Rabbit 2.1.7
Page: 26
リーダブルコード?
リーダブル
コードは
どんなコード?
進め方
Powered by Rabbit 2.1.7
Page: 27
リーダブルコード
読む人が
読みやすいなら
リーダブル
進め方
Powered by Rabbit 2.1.7
Page: 28
リーダブル
✓ 読む人違えばリーダブルも違う
✓ OSS毎に読む人が違う
✓ →OSS毎にリーダブルも違う!
✓ どうすれば…
進め方
Powered by Rabbit 2.1.7
Page: 29
ヒント:OSSの開発
コードを読むことは当たり前
✓ オープンソースの定義(2/10):
✓ 「ソースコードを含むこと」
✓ コードを読めること
✓ →オープンソースの特徴の1つ
オープンソースソフトウェアとは「オープンソースの定義」を
満たしたライセンスが設定されているソフトウェアのこと
進め方
Powered by Rabbit 2.1.7
Page: 30
OSSのリーダブルを知る方法
コードを読む
↓
リーダブルが
わかる
進め方
Powered by Rabbit 2.1.7
Page: 31
今日やること
1. コードを読む
2. テクニックを見つける
3. ↑を活かしてコードを書く
↓
OSSの開発で当たり前のことをやる
↓
リーダブルコード力アップ!
進め方
Powered by Rabbit 2.1.7