SlideShare a Scribd company logo
Submit Search
Upload
Login
Signup
実践リーダブルコードの概要
Report
Kouhei Sutou
Follow
Free Software Programmer at ClearCode
Jun. 22, 2015
•
0 likes
•
457 views
1
of
36
実践リーダブルコードの概要
Jun. 22, 2015
•
0 likes
•
457 views
Download Now
Download to read offline
Report
2015-06-24開催の実践リーダブルコードの概要と進め方の説明。
Kouhei Sutou
Follow
Free Software Programmer at ClearCode
Recommended
SEゼミ2014 - リーダブルコード勉強会の進め方
Kouhei Sutou
627 views
•
47 slides
SEゼミ2014 - リーダブルコード勉強会の進め方
Kouhei Sutou
873 views
•
52 slides
Groongaドキュメント読書会2の進め方
Kouhei Sutou
1K views
•
32 slides
Droonga移行後の世界
Kouhei Sutou
1.2K views
•
52 slides
Droongaのはじめかた
Kouhei Sutou
696 views
•
43 slides
SEゼミ2014 - 練習
Kouhei Sutou
565 views
•
11 slides
More Related Content
Viewers also liked
SEゼミ2014 - コードチェンジ
Kouhei Sutou
536 views
•
19 slides
SEゼミ2015 - OSS Hack Weekend - 2日目の概要
Kouhei Sutou
483 views
•
11 slides
Groongaドキュメント読書会1の進め方
Kouhei Sutou
1.5K views
•
35 slides
Groongaドキュメント読書会4の進め方
Kouhei Sutou
559 views
•
34 slides
リーダブルコードワークショップ(パイオニア向け)の概要
Kouhei Sutou
596 views
•
16 slides
Hatoholのログ蓄積・検索機能 2014/12版
Kouhei Sutou
785 views
•
52 slides
Viewers also liked
(11)
SEゼミ2014 - コードチェンジ
Kouhei Sutou
•
536 views
SEゼミ2015 - OSS Hack Weekend - 2日目の概要
Kouhei Sutou
•
483 views
Groongaドキュメント読書会1の進め方
Kouhei Sutou
•
1.5K views
Groongaドキュメント読書会4の進め方
Kouhei Sutou
•
559 views
リーダブルコードワークショップ(パイオニア向け)の概要
Kouhei Sutou
•
596 views
Hatoholのログ蓄積・検索機能 2014/12版
Kouhei Sutou
•
785 views
Groongaドキュメント読書会3の進め方
Kouhei Sutou
•
801 views
Groonga族2014
Kouhei Sutou
•
1.2K views
アプリケーションへのRubyインタープリターの組み込み
Kouhei Sutou
•
1.8K views
Groonga族2013
Kouhei Sutou
•
2.4K views
Rabbit - 時間内に終われるプレゼンツール
Kouhei Sutou
•
3.7K views
More from Kouhei Sutou
Apache Arrow Flight – ビッグデータ用高速データ転送フレームワーク #dbts2021
Kouhei Sutou
475 views
•
42 slides
RubyKaigi Takeout 2021 - Red Arrow - Ruby and Apache Arrow
Kouhei Sutou
246 views
•
67 slides
Rubyと仕事と自由なソフトウェア
Kouhei Sutou
685 views
•
40 slides
Apache Arrowフォーマットはなぜ速いのか
Kouhei Sutou
506 views
•
45 slides
Apache Arrow 1.0 - A cross-language development platform for in-memory data
Kouhei Sutou
534 views
•
48 slides
Apache Arrow 2019
Kouhei Sutou
1.3K views
•
55 slides
More from Kouhei Sutou
(20)
Apache Arrow Flight – ビッグデータ用高速データ転送フレームワーク #dbts2021
Kouhei Sutou
•
475 views
RubyKaigi Takeout 2021 - Red Arrow - Ruby and Apache Arrow
Kouhei Sutou
•
246 views
Rubyと仕事と自由なソフトウェア
Kouhei Sutou
•
685 views
Apache Arrowフォーマットはなぜ速いのか
Kouhei Sutou
•
506 views
Apache Arrow 1.0 - A cross-language development platform for in-memory data
Kouhei Sutou
•
534 views
Apache Arrow 2019
Kouhei Sutou
•
1.3K views
Redmine検索の未来像
Kouhei Sutou
•
1.3K views
Apache Arrow - A cross-language development platform for in-memory data
Kouhei Sutou
•
1.2K views
Better CSV processing with Ruby 2.6
Kouhei Sutou
•
4.5K views
Apache Arrow
Kouhei Sutou
•
979 views
Apache Arrow - データ処理ツールの次世代プラットフォーム
Kouhei Sutou
•
7.6K views
Apache Arrow
Kouhei Sutou
•
884 views
MySQL・PostgreSQLだけで作る高速あいまい全文検索システム
Kouhei Sutou
•
8.9K views
MySQL 8.0でMroonga
Kouhei Sutou
•
1.1K views
My way with Ruby
Kouhei Sutou
•
564 views
Red Data Tools
Kouhei Sutou
•
858 views
Mroongaの高速全文検索機能でWordPress内のコンテンツを有効活用!
Kouhei Sutou
•
2.5K views
MariaDBとMroongaで作る全言語対応超高速全文検索システム
Kouhei Sutou
•
7.3K views
PGroonga 2 – Make PostgreSQL rich full text search system backend!
Kouhei Sutou
•
589 views
PGroonga 2 - PostgreSQLでの全文検索の決定版
Kouhei Sutou
•
5.2K views
実践リーダブルコードの概要
1.
概要 Powered by
Rabbit 2.1.3 概要 須藤功平 株式会社クリアコード 実践リーダブルコード 2015-06-24
2.
概要 Powered by
Rabbit 2.1.3 今日の流れ - 午前 10:00- アイスブレーク✓ 10:15- 概要と進め方の説明✓ 10:45- 実装✓ 12:30- ランチ✓
3.
概要 Powered by
Rabbit 2.1.3 今日の流れ - 昼下がり 13:30- 読み方のデモ✓ 13:45- チェンジして実装✓ 15:30- グループふりかえり✓
4.
概要 Powered by
Rabbit 2.1.3 今日の流れ - 夕方 16:00- まとめ 次のステップを説明✓ ✓ 16:30- 感想発表・質疑応答✓ 17:00- 有志で懇親会✓
5.
概要 Powered by
Rabbit 2.1.3 チューター紹介 参加者のサポート係✓ 現役エンジニア✓ 行動指針 参加者が目的を見失うのを防ぐ✓ 新しい視点を与える✓ ✓
6.
概要 Powered by
Rabbit 2.1.3 講師紹介 須藤功平(すとう こうへい) クリアコード代表取締役✓ リーダブルコード(本)の 「解説」の著者 ✓ 進行と全体を気にかける係✓
7.
概要 Powered by
Rabbit 2.1.3 講座の目的 自分の開発チームに ↑注意:個々人の話ではない✓ ✓ リーダブルなコードが 当たり前な文化の作り方を ✓ 持ち帰る✓ → 「解説」に書いていることの実践方法を学ぶ
8.
概要 Powered by
Rabbit 2.1.3 目的でないこと 実践前の不安のケア やらない理由の増幅は抑えられない✓ ↑のときに外からの声は届かない✓ ✓ 例:上司の説得方法の伝授 時間が残ったら参加者同士で 情報交換する場を用意 ✓ ↑を活用するのは可✓ ✓
9.
概要 Powered by
Rabbit 2.1.3 サポート 今日の資料はすべて再利用可能 チーム内で同じ講座を再現できる✓ ✓ 無料のフォローアップ面談 チームで実践→悩み ↑の相談に乗る ✓ 受講後3ヶ月以内に1回✓ ✓
10.
概要 Powered by
Rabbit 2.1.3 そもそもの話 リーダブルコードはなぜ必要か✓ ↓を目指すために チームでの共有は必須 リーダブルなコードが 当たり前な文化
11.
概要 Powered by
Rabbit 2.1.3 必要なケース チーム開発
12.
概要 Powered by
Rabbit 2.1.3 チーム開発 1人しか触れないコード→危険 いなくなったら変更できない✓ 変更できてもコストが大きい✓ ✓ チームで触れるには?✓ ↓ 既存コードの理解が必要
13.
概要 Powered by
Rabbit 2.1.3 既存コードの理解のため リーダブル コード
14.
概要 Powered by
Rabbit 2.1.3 既存コードの理解しやすさ コードの変更コストに影響 コスト↑→修正・機能追加の時間↑ (理解しないと変更できない) ✓ コスト↑→リグレッションバグ↑ (理解しないまま変更すると問題発生) ✓ ✓ ↓ 理解しやすさ→開発速度に影響
15.
概要 Powered by
Rabbit 2.1.3 時間が経つほど影響大 時間 開発 速度 リーダブルじゃない場合 リーダブルな場合 開発速度が落ちにくい 開発速度が落ちやすい
16.
概要 Powered by
Rabbit 2.1.3 リーダブルコードの必要性 チームの開発速度の維持のため 継続的に改良・修正したい✓ それも現実的なコストで✓ ✓
17.
概要 Powered by
Rabbit 2.1.3 必要性の実現方法 コードを読む 文化を作る
18.
概要 Powered by
Rabbit 2.1.3 読む?書くじゃないの? リーダブルコードを書くには コードを読まないといけない なぜ?✓ ✓ リーダブルコードは チーム毎に違うから
19.
概要 Powered by
Rabbit 2.1.3 リーダブルコード 「読む人」が 読みやすいなら リーダブル
20.
概要 Powered by
Rabbit 2.1.3 読む人 多くの場合、いない チームのコードを読んでいますか?✓ ✓ 読む人(チームメンバー)毎に リーダブルの基準は違う 背景が違うので当たり前 (背景:使ってきた言語・今の知識) ✓ ✓
21.
概要 Powered by
Rabbit 2.1.3 チームでのリーダブル 1つずつ見つけていくしかない 各メンバーの読んだ感覚を チームで共有 ✓ 既存の基準をベースにするのはアリ (基準:本の内容やコーディングスタイルなど) ✓ ✓ チームでのリーダブルコードは 育てていくもの
22.
概要 Powered by
Rabbit 2.1.3 リーダブルの基準の育て方 コードを読む文化を作る (最初の難関) ✓ チームのコードの中から リーダブルなコードを見つける ✓ リーダブルなコードを チームで共有 ✓ ↑の繰り返しで基準を増やす✓
23.
概要 Powered by
Rabbit 2.1.3 コードを読む文化を作る まず自分が読み始める 仲間がいると心強い✓ ✓ リーダブルなコードを探す 読みにくいコードは今は置いておく (チームにコードを読む文化ができてから!) ✓ 見つけたリーダブルなコードは…✓ ✓
24.
概要 Powered by
Rabbit 2.1.3 リーダブルなコードは… 他のメンバーに教える (例:話しかける。チャットに書く。Wikiにまとめる。) 「○○さんの△△という書き方、 リーダブルでしたよー」 ✓ ✓ ↓ 読みやすさの基準を共有 コードが読まれているという自覚
25.
概要 Powered by
Rabbit 2.1.3 読むことを「当たり前」に 「あいつはコードを読むやつ」 という認識を広める ✓ 自分だけからチームへ✓ …続きはセミナーの最後に
26.
概要 Powered by
Rabbit 2.1.3 ワークショップ内容 改良するために 他の人のコードを読む 「まず自分が読み始める」✓ 「リーダブルコードを探す」 (読みにくいコードは今は置いておく) ✓ 「リーダブルの基準を共有」 (チームでのリーダブルコードができる) ✓
27.
概要 Powered by
Rabbit 2.1.3 注意:やらないこと リーダブルコードを書くための テクニックをたくさん伝授
28.
概要 Powered by
Rabbit 2.1.3 テクニック伝授は範囲外 順番が違う✓ まず読む文化を作ること 今日は↑がメイン✓ ✓ テクニックはその後 読む文化ができていれば 効率的に広められる ✓ よい書き方でコードを書けば みんながコードから学んでくれる! ✓ ✓
29.
概要 Powered by
Rabbit 2.1.3 やること 読む文化作りの 体験
30.
概要 Powered by
Rabbit 2.1.3 読む文化作り まず自分が読み始める✓ リーダブルコードを探す✓ 他のメンバーに教える✓
31.
概要 Powered by
Rabbit 2.1.3 読む文化作りの体験 10:45- 課題を実装 リーダブルコードを書く✓ ✓ 13:30- 実装チェンジ→開発継続 「まず自分が読み始める」✓ 「リーダブルコードを探す」✓ ✓ 15:30- グループ発表 「他のメンバーに教える」✓ ✓
32.
概要 Powered by
Rabbit 2.1.3 おさらい 講座の目的✓ リーダブルコードの必要性✓ 講座でやること✓
33.
概要 Powered by
Rabbit 2.1.3 講座の目的 自分の開発チームに ↑注意:個々人の話ではない✓ ✓ リーダブルなコードが 当たり前な文化の作り方を ✓ 持ち帰る✓
34.
概要 Powered by
Rabbit 2.1.3 リーダブルコードの必要性 チームの開発速度の維持のため 継続的に改良・修正したい✓ それも現実的なコストで✓ ✓
35.
概要 Powered by
Rabbit 2.1.3 変更コストと開発速度 時間 開発 速度 リーダブルじゃない場合 リーダブルな場合 開発速度が落ちにくい 開発速度が落ちやすい
36.
概要 Powered by
Rabbit 2.1.3 講座でやること コードを読む文化作りの体験 まず自分が読み始める✓ リーダブルコードを探す✓ 他のメンバーに教える✓ ✓