SlideShare a Scribd company logo
1 of 10
Download to read offline
練習の仕方 Powered by Rabbit 2.1.3
練習の仕方
須藤功平
株式会社クリアコード
SEゼミ2014 - リーダブルコード勉強会1
2014/07/06
練習の仕方 Powered by Rabbit 2.1.3
課題の目的
将来を見据えた
リーダブルコード力の
レベルアップ
練習の仕方 Powered by Rabbit 2.1.3
目指すこと
リーダブルコードを
発見できるようになる
練習の仕方 Powered by Rabbit 2.1.3
目指さないこと
テクニックをたくさん覚える
✓
難しいプログラムでも
実装できるようになる
✓
速く実装できるようになる
✓
練習の仕方 Powered by Rabbit 2.1.3
課題の傾向
技術的に難しいことは
意図的に避けている
✓
段階的に改良していく
✓
時間内で実装しきれない分量
すべて実装する必要はない!
✓
✓
練習の仕方 Powered by Rabbit 2.1.3
練習としてやること
仕様1を実装
進め方の詳細はtask.mdを参照
練習の仕方 Powered by Rabbit 2.1.3
メモ
工夫したことはmemo.mdに書く
✓
memo.mdはリポジトリーにpush
✓
↓を含めるとよい
実際のコードのURL
✓
リーダブルな理由
✓
✓
練習の仕方 Powered by Rabbit 2.1.3
リーダブルコードとは
読む人基準
読む人がリーダブルだと思ったら
リーダブルコード
✓
✓
読む人の視点を意識してみて
どんな人が読む?
✓
どんな前提知識がある?
✓
✓
練習の仕方 Powered by Rabbit 2.1.3
困ったら1
メンターに相談
メンターは答えを教えない
✓
一緒に考えてくれる
✓
✓
なんで!?答えを教えてよ!
トレーナーが禁止している
(参加者が考える機会を奪わないため)
✓
メンターは意地悪ではない
✓
✓
練習の仕方 Powered by Rabbit 2.1.3
困ったら2
まわりの参加者に相談
答えを教えてもよい
✓
一緒に考えてもよい
✓
✓
ヒント
答えを教えるときは理由も伝える
(教える参加者が考える機会になる!)
✓
聞く人は理由も聞く
(考え方を知ると新しい視点でコードを読める!)
✓
✓

More Related Content

Viewers also liked

実践リーダブルコードのまとめ
実践リーダブルコードのまとめ実践リーダブルコードのまとめ
実践リーダブルコードのまとめKouhei Sutou
 
私にとってのテスト
私にとってのテスト私にとってのテスト
私にとってのテストTakuto Wada
 
コーディング入門以前
コーディング入門以前コーディング入門以前
コーディング入門以前Yutaka Kinjyo
 
Test Yourself - テストを書くと何がどう変わるか
Test Yourself - テストを書くと何がどう変わるかTest Yourself - テストを書くと何がどう変わるか
Test Yourself - テストを書くと何がどう変わるかTakuto Wada
 
power-assert, mechanism and philosophy
power-assert, mechanism and philosophypower-assert, mechanism and philosophy
power-assert, mechanism and philosophyTakuto Wada
 
How to create/improve OSS products and its community
How to create/improve OSS products and its communityHow to create/improve OSS products and its community
How to create/improve OSS products and its communitySATOSHI TAGOMORI
 
リーダブルコード勉強会
リーダブルコード勉強会リーダブルコード勉強会
リーダブルコード勉強会norimatsu2012
 

Viewers also liked (7)

実践リーダブルコードのまとめ
実践リーダブルコードのまとめ実践リーダブルコードのまとめ
実践リーダブルコードのまとめ
 
私にとってのテスト
私にとってのテスト私にとってのテスト
私にとってのテスト
 
コーディング入門以前
コーディング入門以前コーディング入門以前
コーディング入門以前
 
Test Yourself - テストを書くと何がどう変わるか
Test Yourself - テストを書くと何がどう変わるかTest Yourself - テストを書くと何がどう変わるか
Test Yourself - テストを書くと何がどう変わるか
 
power-assert, mechanism and philosophy
power-assert, mechanism and philosophypower-assert, mechanism and philosophy
power-assert, mechanism and philosophy
 
How to create/improve OSS products and its community
How to create/improve OSS products and its communityHow to create/improve OSS products and its community
How to create/improve OSS products and its community
 
リーダブルコード勉強会
リーダブルコード勉強会リーダブルコード勉強会
リーダブルコード勉強会
 

Similar to SEゼミ2014 - 練習

リーダブルコードワークショップ(パイオニア向け)の概要
リーダブルコードワークショップ(パイオニア向け)の概要リーダブルコードワークショップ(パイオニア向け)の概要
リーダブルコードワークショップ(パイオニア向け)の概要Kouhei Sutou
 
リーダブルコードワークショップ(パイオニア向け)のまとめ
リーダブルコードワークショップ(パイオニア向け)のまとめリーダブルコードワークショップ(パイオニア向け)のまとめ
リーダブルコードワークショップ(パイオニア向け)のまとめKouhei Sutou
 
リーダブルコード勉強会 in 筑波大 - コードチェンジ
リーダブルコード勉強会 in 筑波大 - コードチェンジリーダブルコード勉強会 in 筑波大 - コードチェンジ
リーダブルコード勉強会 in 筑波大 - コードチェンジKouhei Sutou
 
SEゼミ2014 - リーダブルコード勉強会のまとめ
SEゼミ2014 - リーダブルコード勉強会のまとめSEゼミ2014 - リーダブルコード勉強会のまとめ
SEゼミ2014 - リーダブルコード勉強会のまとめKouhei Sutou
 
実践リーダブルコードのまとめ
実践リーダブルコードのまとめ実践リーダブルコードのまとめ
実践リーダブルコードのまとめKouhei Sutou
 
Potatotops20141217
Potatotops20141217Potatotops20141217
Potatotops20141217Mogi Isamu
 
SEゼミ2015 - コードチェンジ
SEゼミ2015 - コードチェンジSEゼミ2015 - コードチェンジ
SEゼミ2015 - コードチェンジKouhei Sutou
 
エンジニアの気持ちを完全に理解してくれている Cypress Cloud
エンジニアの気持ちを完全に理解してくれている Cypress Cloudエンジニアの気持ちを完全に理解してくれている Cypress Cloud
エンジニアの気持ちを完全に理解してくれている Cypress CloudMakoto Mori
 
SEゼミ2015 - OSS Hack 4 Beginners - フィードバック
SEゼミ2015 - OSS Hack 4 Beginners - フィードバックSEゼミ2015 - OSS Hack 4 Beginners - フィードバック
SEゼミ2015 - OSS Hack 4 Beginners - フィードバックKouhei Sutou
 
Rubyを使った分散全文検索ミドルウェア
Rubyを使った分散全文検索ミドルウェアRubyを使った分散全文検索ミドルウェア
Rubyを使った分散全文検索ミドルウェアKouhei Sutou
 
SEゼミ2015 - OSS Hack 4 Beginners - まとめ
SEゼミ2015 - OSS Hack 4 Beginners - まとめSEゼミ2015 - OSS Hack 4 Beginners - まとめ
SEゼミ2015 - OSS Hack 4 Beginners - まとめKouhei Sutou
 
実践リーダブルコードのふりかえり
実践リーダブルコードのふりかえり実践リーダブルコードのふりかえり
実践リーダブルコードのふりかえりKouhei Sutou
 
自社開発プロダクト ALL-IN で行っている単体テストのパフォーマンスチューニングTips
自社開発プロダクト ALL-IN で行っている単体テストのパフォーマンスチューニングTips自社開発プロダクト ALL-IN で行っている単体テストのパフォーマンスチューニングTips
自社開発プロダクト ALL-IN で行っている単体テストのパフォーマンスチューニングTipsShou Takenaka
 
GCSアジャイル開発を使ったゲームの作り方
 GCSアジャイル開発を使ったゲームの作り方 GCSアジャイル開発を使ったゲームの作り方
GCSアジャイル開発を使ったゲームの作り方Hiroyuki Tanaka
 
リーダブルコード勉強会 in 筑波大の進め方
リーダブルコード勉強会 in 筑波大の進め方リーダブルコード勉強会 in 筑波大の進め方
リーダブルコード勉強会 in 筑波大の進め方Kouhei Sutou
 
テスト駆動開発入門
テスト駆動開発入門テスト駆動開発入門
テスト駆動開発入門Shuji Watanabe
 
実践リーダブルコードのふりかえり
実践リーダブルコードのふりかえり実践リーダブルコードのふりかえり
実践リーダブルコードのふりかえりKouhei Sutou
 
El text.tokuron a(2019).watanabe190606
El text.tokuron a(2019).watanabe190606El text.tokuron a(2019).watanabe190606
El text.tokuron a(2019).watanabe190606RCCSRENKEI
 
Androidアプリ開発のテスト環境
Androidアプリ開発のテスト環境Androidアプリ開発のテスト環境
Androidアプリ開発のテスト環境Toshiyuki Hirata
 
Rabbit - 時間内に終われるプレゼンツール
Rabbit - 時間内に終われるプレゼンツールRabbit - 時間内に終われるプレゼンツール
Rabbit - 時間内に終われるプレゼンツールKouhei Sutou
 

Similar to SEゼミ2014 - 練習 (20)

リーダブルコードワークショップ(パイオニア向け)の概要
リーダブルコードワークショップ(パイオニア向け)の概要リーダブルコードワークショップ(パイオニア向け)の概要
リーダブルコードワークショップ(パイオニア向け)の概要
 
リーダブルコードワークショップ(パイオニア向け)のまとめ
リーダブルコードワークショップ(パイオニア向け)のまとめリーダブルコードワークショップ(パイオニア向け)のまとめ
リーダブルコードワークショップ(パイオニア向け)のまとめ
 
リーダブルコード勉強会 in 筑波大 - コードチェンジ
リーダブルコード勉強会 in 筑波大 - コードチェンジリーダブルコード勉強会 in 筑波大 - コードチェンジ
リーダブルコード勉強会 in 筑波大 - コードチェンジ
 
SEゼミ2014 - リーダブルコード勉強会のまとめ
SEゼミ2014 - リーダブルコード勉強会のまとめSEゼミ2014 - リーダブルコード勉強会のまとめ
SEゼミ2014 - リーダブルコード勉強会のまとめ
 
実践リーダブルコードのまとめ
実践リーダブルコードのまとめ実践リーダブルコードのまとめ
実践リーダブルコードのまとめ
 
Potatotops20141217
Potatotops20141217Potatotops20141217
Potatotops20141217
 
SEゼミ2015 - コードチェンジ
SEゼミ2015 - コードチェンジSEゼミ2015 - コードチェンジ
SEゼミ2015 - コードチェンジ
 
エンジニアの気持ちを完全に理解してくれている Cypress Cloud
エンジニアの気持ちを完全に理解してくれている Cypress Cloudエンジニアの気持ちを完全に理解してくれている Cypress Cloud
エンジニアの気持ちを完全に理解してくれている Cypress Cloud
 
SEゼミ2015 - OSS Hack 4 Beginners - フィードバック
SEゼミ2015 - OSS Hack 4 Beginners - フィードバックSEゼミ2015 - OSS Hack 4 Beginners - フィードバック
SEゼミ2015 - OSS Hack 4 Beginners - フィードバック
 
Rubyを使った分散全文検索ミドルウェア
Rubyを使った分散全文検索ミドルウェアRubyを使った分散全文検索ミドルウェア
Rubyを使った分散全文検索ミドルウェア
 
SEゼミ2015 - OSS Hack 4 Beginners - まとめ
SEゼミ2015 - OSS Hack 4 Beginners - まとめSEゼミ2015 - OSS Hack 4 Beginners - まとめ
SEゼミ2015 - OSS Hack 4 Beginners - まとめ
 
実践リーダブルコードのふりかえり
実践リーダブルコードのふりかえり実践リーダブルコードのふりかえり
実践リーダブルコードのふりかえり
 
自社開発プロダクト ALL-IN で行っている単体テストのパフォーマンスチューニングTips
自社開発プロダクト ALL-IN で行っている単体テストのパフォーマンスチューニングTips自社開発プロダクト ALL-IN で行っている単体テストのパフォーマンスチューニングTips
自社開発プロダクト ALL-IN で行っている単体テストのパフォーマンスチューニングTips
 
GCSアジャイル開発を使ったゲームの作り方
 GCSアジャイル開発を使ったゲームの作り方 GCSアジャイル開発を使ったゲームの作り方
GCSアジャイル開発を使ったゲームの作り方
 
リーダブルコード勉強会 in 筑波大の進め方
リーダブルコード勉強会 in 筑波大の進め方リーダブルコード勉強会 in 筑波大の進め方
リーダブルコード勉強会 in 筑波大の進め方
 
テスト駆動開発入門
テスト駆動開発入門テスト駆動開発入門
テスト駆動開発入門
 
実践リーダブルコードのふりかえり
実践リーダブルコードのふりかえり実践リーダブルコードのふりかえり
実践リーダブルコードのふりかえり
 
El text.tokuron a(2019).watanabe190606
El text.tokuron a(2019).watanabe190606El text.tokuron a(2019).watanabe190606
El text.tokuron a(2019).watanabe190606
 
Androidアプリ開発のテスト環境
Androidアプリ開発のテスト環境Androidアプリ開発のテスト環境
Androidアプリ開発のテスト環境
 
Rabbit - 時間内に終われるプレゼンツール
Rabbit - 時間内に終われるプレゼンツールRabbit - 時間内に終われるプレゼンツール
Rabbit - 時間内に終われるプレゼンツール
 

More from Kouhei Sutou

RubyKaigi 2022 - Fast data processing with Ruby and Apache Arrow
RubyKaigi 2022 - Fast data processing with Ruby and Apache ArrowRubyKaigi 2022 - Fast data processing with Ruby and Apache Arrow
RubyKaigi 2022 - Fast data processing with Ruby and Apache ArrowKouhei Sutou
 
Apache Arrow Flight – ビッグデータ用高速データ転送フレームワーク #dbts2021
Apache Arrow Flight – ビッグデータ用高速データ転送フレームワーク #dbts2021Apache Arrow Flight – ビッグデータ用高速データ転送フレームワーク #dbts2021
Apache Arrow Flight – ビッグデータ用高速データ転送フレームワーク #dbts2021Kouhei Sutou
 
RubyKaigi Takeout 2021 - Red Arrow - Ruby and Apache Arrow
RubyKaigi Takeout 2021 - Red Arrow - Ruby and Apache ArrowRubyKaigi Takeout 2021 - Red Arrow - Ruby and Apache Arrow
RubyKaigi Takeout 2021 - Red Arrow - Ruby and Apache ArrowKouhei Sutou
 
Rubyと仕事と自由なソフトウェア
Rubyと仕事と自由なソフトウェアRubyと仕事と自由なソフトウェア
Rubyと仕事と自由なソフトウェアKouhei Sutou
 
Apache Arrowフォーマットはなぜ速いのか
Apache Arrowフォーマットはなぜ速いのかApache Arrowフォーマットはなぜ速いのか
Apache Arrowフォーマットはなぜ速いのかKouhei Sutou
 
Apache Arrow 1.0 - A cross-language development platform for in-memory data
Apache Arrow 1.0 - A cross-language development platform for in-memory dataApache Arrow 1.0 - A cross-language development platform for in-memory data
Apache Arrow 1.0 - A cross-language development platform for in-memory dataKouhei Sutou
 
Redmine検索の未来像
Redmine検索の未来像Redmine検索の未来像
Redmine検索の未来像Kouhei Sutou
 
Apache Arrow - A cross-language development platform for in-memory data
Apache Arrow - A cross-language development platform for in-memory dataApache Arrow - A cross-language development platform for in-memory data
Apache Arrow - A cross-language development platform for in-memory dataKouhei Sutou
 
Better CSV processing with Ruby 2.6
Better CSV processing with Ruby 2.6Better CSV processing with Ruby 2.6
Better CSV processing with Ruby 2.6Kouhei Sutou
 
Apache Arrow - データ処理ツールの次世代プラットフォーム
Apache Arrow - データ処理ツールの次世代プラットフォームApache Arrow - データ処理ツールの次世代プラットフォーム
Apache Arrow - データ処理ツールの次世代プラットフォームKouhei Sutou
 
MySQL・PostgreSQLだけで作る高速あいまい全文検索システム
MySQL・PostgreSQLだけで作る高速あいまい全文検索システムMySQL・PostgreSQLだけで作る高速あいまい全文検索システム
MySQL・PostgreSQLだけで作る高速あいまい全文検索システムKouhei Sutou
 
MySQL 8.0でMroonga
MySQL 8.0でMroongaMySQL 8.0でMroonga
MySQL 8.0でMroongaKouhei Sutou
 
Mroongaの高速全文検索機能でWordPress内のコンテンツを有効活用!
Mroongaの高速全文検索機能でWordPress内のコンテンツを有効活用!Mroongaの高速全文検索機能でWordPress内のコンテンツを有効活用!
Mroongaの高速全文検索機能でWordPress内のコンテンツを有効活用!Kouhei Sutou
 
MariaDBとMroongaで作る全言語対応超高速全文検索システム
MariaDBとMroongaで作る全言語対応超高速全文検索システムMariaDBとMroongaで作る全言語対応超高速全文検索システム
MariaDBとMroongaで作る全言語対応超高速全文検索システムKouhei Sutou
 
PGroonga 2 – Make PostgreSQL rich full text search system backend!
PGroonga 2 – Make PostgreSQL rich full text search system backend!PGroonga 2 – Make PostgreSQL rich full text search system backend!
PGroonga 2 – Make PostgreSQL rich full text search system backend!Kouhei Sutou
 

More from Kouhei Sutou (20)

RubyKaigi 2022 - Fast data processing with Ruby and Apache Arrow
RubyKaigi 2022 - Fast data processing with Ruby and Apache ArrowRubyKaigi 2022 - Fast data processing with Ruby and Apache Arrow
RubyKaigi 2022 - Fast data processing with Ruby and Apache Arrow
 
Apache Arrow Flight – ビッグデータ用高速データ転送フレームワーク #dbts2021
Apache Arrow Flight – ビッグデータ用高速データ転送フレームワーク #dbts2021Apache Arrow Flight – ビッグデータ用高速データ転送フレームワーク #dbts2021
Apache Arrow Flight – ビッグデータ用高速データ転送フレームワーク #dbts2021
 
RubyKaigi Takeout 2021 - Red Arrow - Ruby and Apache Arrow
RubyKaigi Takeout 2021 - Red Arrow - Ruby and Apache ArrowRubyKaigi Takeout 2021 - Red Arrow - Ruby and Apache Arrow
RubyKaigi Takeout 2021 - Red Arrow - Ruby and Apache Arrow
 
Rubyと仕事と自由なソフトウェア
Rubyと仕事と自由なソフトウェアRubyと仕事と自由なソフトウェア
Rubyと仕事と自由なソフトウェア
 
Apache Arrowフォーマットはなぜ速いのか
Apache Arrowフォーマットはなぜ速いのかApache Arrowフォーマットはなぜ速いのか
Apache Arrowフォーマットはなぜ速いのか
 
Apache Arrow 1.0 - A cross-language development platform for in-memory data
Apache Arrow 1.0 - A cross-language development platform for in-memory dataApache Arrow 1.0 - A cross-language development platform for in-memory data
Apache Arrow 1.0 - A cross-language development platform for in-memory data
 
Apache Arrow 2019
Apache Arrow 2019Apache Arrow 2019
Apache Arrow 2019
 
Redmine検索の未来像
Redmine検索の未来像Redmine検索の未来像
Redmine検索の未来像
 
Apache Arrow - A cross-language development platform for in-memory data
Apache Arrow - A cross-language development platform for in-memory dataApache Arrow - A cross-language development platform for in-memory data
Apache Arrow - A cross-language development platform for in-memory data
 
Better CSV processing with Ruby 2.6
Better CSV processing with Ruby 2.6Better CSV processing with Ruby 2.6
Better CSV processing with Ruby 2.6
 
Apache Arrow
Apache ArrowApache Arrow
Apache Arrow
 
Apache Arrow - データ処理ツールの次世代プラットフォーム
Apache Arrow - データ処理ツールの次世代プラットフォームApache Arrow - データ処理ツールの次世代プラットフォーム
Apache Arrow - データ処理ツールの次世代プラットフォーム
 
Apache Arrow
Apache ArrowApache Arrow
Apache Arrow
 
MySQL・PostgreSQLだけで作る高速あいまい全文検索システム
MySQL・PostgreSQLだけで作る高速あいまい全文検索システムMySQL・PostgreSQLだけで作る高速あいまい全文検索システム
MySQL・PostgreSQLだけで作る高速あいまい全文検索システム
 
MySQL 8.0でMroonga
MySQL 8.0でMroongaMySQL 8.0でMroonga
MySQL 8.0でMroonga
 
My way with Ruby
My way with RubyMy way with Ruby
My way with Ruby
 
Red Data Tools
Red Data ToolsRed Data Tools
Red Data Tools
 
Mroongaの高速全文検索機能でWordPress内のコンテンツを有効活用!
Mroongaの高速全文検索機能でWordPress内のコンテンツを有効活用!Mroongaの高速全文検索機能でWordPress内のコンテンツを有効活用!
Mroongaの高速全文検索機能でWordPress内のコンテンツを有効活用!
 
MariaDBとMroongaで作る全言語対応超高速全文検索システム
MariaDBとMroongaで作る全言語対応超高速全文検索システムMariaDBとMroongaで作る全言語対応超高速全文検索システム
MariaDBとMroongaで作る全言語対応超高速全文検索システム
 
PGroonga 2 – Make PostgreSQL rich full text search system backend!
PGroonga 2 – Make PostgreSQL rich full text search system backend!PGroonga 2 – Make PostgreSQL rich full text search system backend!
PGroonga 2 – Make PostgreSQL rich full text search system backend!
 

SEゼミ2014 - 練習

  • 1. 練習の仕方 Powered by Rabbit 2.1.3 練習の仕方 須藤功平 株式会社クリアコード SEゼミ2014 - リーダブルコード勉強会1 2014/07/06
  • 2. 練習の仕方 Powered by Rabbit 2.1.3 課題の目的 将来を見据えた リーダブルコード力の レベルアップ
  • 3. 練習の仕方 Powered by Rabbit 2.1.3 目指すこと リーダブルコードを 発見できるようになる
  • 4. 練習の仕方 Powered by Rabbit 2.1.3 目指さないこと テクニックをたくさん覚える ✓ 難しいプログラムでも 実装できるようになる ✓ 速く実装できるようになる ✓
  • 5. 練習の仕方 Powered by Rabbit 2.1.3 課題の傾向 技術的に難しいことは 意図的に避けている ✓ 段階的に改良していく ✓ 時間内で実装しきれない分量 すべて実装する必要はない! ✓ ✓
  • 6. 練習の仕方 Powered by Rabbit 2.1.3 練習としてやること 仕様1を実装 進め方の詳細はtask.mdを参照
  • 7. 練習の仕方 Powered by Rabbit 2.1.3 メモ 工夫したことはmemo.mdに書く ✓ memo.mdはリポジトリーにpush ✓ ↓を含めるとよい 実際のコードのURL ✓ リーダブルな理由 ✓ ✓
  • 8. 練習の仕方 Powered by Rabbit 2.1.3 リーダブルコードとは 読む人基準 読む人がリーダブルだと思ったら リーダブルコード ✓ ✓ 読む人の視点を意識してみて どんな人が読む? ✓ どんな前提知識がある? ✓ ✓
  • 9. 練習の仕方 Powered by Rabbit 2.1.3 困ったら1 メンターに相談 メンターは答えを教えない ✓ 一緒に考えてくれる ✓ ✓ なんで!?答えを教えてよ! トレーナーが禁止している (参加者が考える機会を奪わないため) ✓ メンターは意地悪ではない ✓ ✓
  • 10. 練習の仕方 Powered by Rabbit 2.1.3 困ったら2 まわりの参加者に相談 答えを教えてもよい ✓ 一緒に考えてもよい ✓ ✓ ヒント 答えを教えるときは理由も伝える (教える参加者が考える機会になる!) ✓ 聞く人は理由も聞く (考え方を知ると新しい視点でコードを読める!) ✓ ✓