SlideShare une entreprise Scribd logo
1  sur  19
Télécharger pour lire hors ligne
コードチェンジ Powered by Rabbit 2.1.3
コードチェンジ
須藤功平
株式会社クリアコード
SEゼミ2014 - リーダブルコード勉強会2
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
目指すためにやること
コードチェンジ
コードチェンジ Powered by Rabbit 2.1.3
コードチェンジでやること
書いて←自己流で本気をだす
(午前中にやった)
1.
読んで←他のコードから吸収
(読まないといけない状況を強制的に作る)
2.
書いて←↑を活用して成長3.
コードチェンジ Powered by Rabbit 2.1.3
どうしてこうやるか
既存のテクニックの習得
本から学ぶ✓
野生のコードを読む→
リーダブルコードを発見→
吸収 ↑を体験
✓
1.
新規にテクニックを発明
リーダブルでないコードを発見→
改善案を発明
✓
2.
コードチェンジ Powered by Rabbit 2.1.3
やり方
交換相手を決める✓
交換相手のリポジトリーをfork✓
↑を使って開発継続✓
コードチェンジ Powered by Rabbit 2.1.3
交換相手の決め方
基準
だいたい同じ状況同士✓
例: 進み具合、環境✓
✓
メンターがヒアリング
積極的に協力して✓
✓
コードチェンジ Powered by Rabbit 2.1.3
リポジトリーをfork
やり方がわからない人は挙手✓
コードチェンジ Powered by Rabbit 2.1.3
開発継続
どこまで進んでいるかを確認
READMEやlogを参考に
(どういう風に書いておけばよかったか考えてみて)
✓
✓
↑から開発を継続✓
コードチェンジ Powered by Rabbit 2.1.3
忘れないで
よいコードを見つけたらメモ
memo.mdに追記して随時push✓
後でよいコードを共有する時に使う✓
✓
書くこと
コードのURL✓
よい理由✓
見つけたきっかけ✓
✓
コードチェンジ 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
発見方法のヒント
リーダブルコード
読む人がリーダブルと思ったコード✓
✓
読む人視点が重要
交換直後の今が読む人の視点!✓
✓
コードチェンジ Powered by Rabbit 2.1.3
忘れないで
よいコードを見つけたらメモ
memo.mdに追記して随時push✓
後でよいコードを共有する時に使う✓
✓
書くこと
コードのURL✓
よい理由✓
見つけたきっかけ✓
✓

Contenu connexe

En vedette

実践リーダブルコードのふりかえり
実践リーダブルコードのふりかえり実践リーダブルコードのふりかえり
実践リーダブルコードのふりかえりKouhei Sutou
 
実践リーダブルコードの概要
実践リーダブルコードの概要実践リーダブルコードの概要
実践リーダブルコードの概要Kouhei Sutou
 
リーダブルコードワークショップ(パイオニア向け)の概要
リーダブルコードワークショップ(パイオニア向け)の概要リーダブルコードワークショップ(パイオニア向け)の概要
リーダブルコードワークショップ(パイオニア向け)の概要Kouhei Sutou
 
Droongaのはじめかた
DroongaのはじめかたDroongaのはじめかた
DroongaのはじめかたKouhei Sutou
 
SEゼミ2015 - OSS Hack Weekend - 2日目の概要
SEゼミ2015 - OSS Hack Weekend - 2日目の概要SEゼミ2015 - OSS Hack Weekend - 2日目の概要
SEゼミ2015 - OSS Hack Weekend - 2日目の概要Kouhei Sutou
 
Groongaドキュメント読書会2の進め方
Groongaドキュメント読書会2の進め方Groongaドキュメント読書会2の進め方
Groongaドキュメント読書会2の進め方Kouhei Sutou
 
Groongaドキュメント読書会1の進め方
Groongaドキュメント読書会1の進め方Groongaドキュメント読書会1の進め方
Groongaドキュメント読書会1の進め方Kouhei Sutou
 
Groongaドキュメント読書会4の進め方
Groongaドキュメント読書会4の進め方Groongaドキュメント読書会4の進め方
Groongaドキュメント読書会4の進め方Kouhei Sutou
 
Hatoholのログ蓄積・検索機能 2014/12版
Hatoholのログ蓄積・検索機能 2014/12版Hatoholのログ蓄積・検索機能 2014/12版
Hatoholのログ蓄積・検索機能 2014/12版Kouhei Sutou
 
Groongaドキュメント読書会3の進め方
Groongaドキュメント読書会3の進め方Groongaドキュメント読書会3の進め方
Groongaドキュメント読書会3の進め方Kouhei Sutou
 
アプリケーションへのRubyインタープリターの組み込み
アプリケーションへのRubyインタープリターの組み込みアプリケーションへのRubyインタープリターの組み込み
アプリケーションへのRubyインタープリターの組み込みKouhei Sutou
 
Rabbit - 時間内に終われるプレゼンツール
Rabbit - 時間内に終われるプレゼンツールRabbit - 時間内に終われるプレゼンツール
Rabbit - 時間内に終われるプレゼンツールKouhei Sutou
 

En vedette (14)

実践リーダブルコードのふりかえり
実践リーダブルコードのふりかえり実践リーダブルコードのふりかえり
実践リーダブルコードのふりかえり
 
実践リーダブルコードの概要
実践リーダブルコードの概要実践リーダブルコードの概要
実践リーダブルコードの概要
 
リーダブルコードワークショップ(パイオニア向け)の概要
リーダブルコードワークショップ(パイオニア向け)の概要リーダブルコードワークショップ(パイオニア向け)の概要
リーダブルコードワークショップ(パイオニア向け)の概要
 
Droongaのはじめかた
DroongaのはじめかたDroongaのはじめかた
Droongaのはじめかた
 
SEゼミ2015 - OSS Hack Weekend - 2日目の概要
SEゼミ2015 - OSS Hack Weekend - 2日目の概要SEゼミ2015 - OSS Hack Weekend - 2日目の概要
SEゼミ2015 - OSS Hack Weekend - 2日目の概要
 
Groongaドキュメント読書会2の進め方
Groongaドキュメント読書会2の進め方Groongaドキュメント読書会2の進め方
Groongaドキュメント読書会2の進め方
 
Groongaドキュメント読書会1の進め方
Groongaドキュメント読書会1の進め方Groongaドキュメント読書会1の進め方
Groongaドキュメント読書会1の進め方
 
Groongaドキュメント読書会4の進め方
Groongaドキュメント読書会4の進め方Groongaドキュメント読書会4の進め方
Groongaドキュメント読書会4の進め方
 
Hatoholのログ蓄積・検索機能 2014/12版
Hatoholのログ蓄積・検索機能 2014/12版Hatoholのログ蓄積・検索機能 2014/12版
Hatoholのログ蓄積・検索機能 2014/12版
 
Groongaドキュメント読書会3の進め方
Groongaドキュメント読書会3の進め方Groongaドキュメント読書会3の進め方
Groongaドキュメント読書会3の進め方
 
Groonga族2014
Groonga族2014Groonga族2014
Groonga族2014
 
アプリケーションへのRubyインタープリターの組み込み
アプリケーションへのRubyインタープリターの組み込みアプリケーションへのRubyインタープリターの組み込み
アプリケーションへのRubyインタープリターの組み込み
 
Groonga族2013
Groonga族2013Groonga族2013
Groonga族2013
 
Rabbit - 時間内に終われるプレゼンツール
Rabbit - 時間内に終われるプレゼンツールRabbit - 時間内に終われるプレゼンツール
Rabbit - 時間内に終われるプレゼンツール
 

Similaire à SEゼミ2014 - コードチェンジ

リーダブルコード勉強会 in 筑波大 - コードチェンジ
リーダブルコード勉強会 in 筑波大 - コードチェンジリーダブルコード勉強会 in 筑波大 - コードチェンジ
リーダブルコード勉強会 in 筑波大 - コードチェンジKouhei Sutou
 
SEゼミ2015 - コードチェンジ
SEゼミ2015 - コードチェンジSEゼミ2015 - コードチェンジ
SEゼミ2015 - コードチェンジKouhei Sutou
 
SEゼミ2014 - リーダブルコード勉強会のまとめ
SEゼミ2014 - リーダブルコード勉強会のまとめSEゼミ2014 - リーダブルコード勉強会のまとめ
SEゼミ2014 - リーダブルコード勉強会のまとめKouhei Sutou
 
実践リーダブルコードのコードチェンジ
実践リーダブルコードのコードチェンジ実践リーダブルコードのコードチェンジ
実践リーダブルコードのコードチェンジKouhei Sutou
 
SEゼミ2014 - リーダブルコード勉強会のまとめ
SEゼミ2014 - リーダブルコード勉強会のまとめSEゼミ2014 - リーダブルコード勉強会のまとめ
SEゼミ2014 - リーダブルコード勉強会のまとめKouhei Sutou
 
リーダブルコードを読んだ後
リーダブルコードを読んだ後リーダブルコードを読んだ後
リーダブルコードを読んだ後Kouhei Sutou
 
リーダブルコード勉強会 in 筑波大 - 練習
リーダブルコード勉強会 in 筑波大 - 練習リーダブルコード勉強会 in 筑波大 - 練習
リーダブルコード勉強会 in 筑波大 - 練習Kouhei Sutou
 
実践リーダブルコードのコードチェンジ
実践リーダブルコードのコードチェンジ実践リーダブルコードのコードチェンジ
実践リーダブルコードのコードチェンジKouhei Sutou
 
SEゼミ2015 - 練習
SEゼミ2015 - 練習SEゼミ2015 - 練習
SEゼミ2015 - 練習Kouhei Sutou
 
SEゼミ2015 - リーダブルコード勉強会のまとめ
SEゼミ2015 - リーダブルコード勉強会のまとめSEゼミ2015 - リーダブルコード勉強会のまとめ
SEゼミ2015 - リーダブルコード勉強会のまとめKouhei Sutou
 
リーダブルコードワークショップ(パイオニア向け)のまとめ
リーダブルコードワークショップ(パイオニア向け)のまとめリーダブルコードワークショップ(パイオニア向け)のまとめ
リーダブルコードワークショップ(パイオニア向け)のまとめKouhei Sutou
 
Potatotops20141217
Potatotops20141217Potatotops20141217
Potatotops20141217Mogi Isamu
 
開発者は仕事でリーダブルなコードを書けるのか?
開発者は仕事でリーダブルなコードを書けるのか?開発者は仕事でリーダブルなコードを書けるのか?
開発者は仕事でリーダブルなコードを書けるのか?Kouhei Sutou
 
リーダブルコード勉強会 in 筑波大のまとめ
リーダブルコード勉強会 in 筑波大のまとめリーダブルコード勉強会 in 筑波大のまとめ
リーダブルコード勉強会 in 筑波大のまとめKouhei Sutou
 
Rubyを使った分散全文検索ミドルウェア
Rubyを使った分散全文検索ミドルウェアRubyを使った分散全文検索ミドルウェア
Rubyを使った分散全文検索ミドルウェアKouhei Sutou
 
クリアなコードの作り方 - How to make clear code
クリアなコードの作り方 - How to make clear codeクリアなコードの作り方 - How to make clear code
クリアなコードの作り方 - How to make clear codeKouhei Sutou
 
実践リーダブルコード - 課題の実装の進め方
実践リーダブルコード - 課題の実装の進め方実践リーダブルコード - 課題の実装の進め方
実践リーダブルコード - 課題の実装の進め方Kouhei Sutou
 
実践リーダブルコードのまとめ
実践リーダブルコードのまとめ実践リーダブルコードのまとめ
実践リーダブルコードのまとめKouhei Sutou
 
プログラマー
プログラマープログラマー
プログラマーKouhei Sutou
 
実践リーダブルコードのふりかえり
実践リーダブルコードのふりかえり実践リーダブルコードのふりかえり
実践リーダブルコードのふりかえりKouhei Sutou
 

Similaire à SEゼミ2014 - コードチェンジ (20)

リーダブルコード勉強会 in 筑波大 - コードチェンジ
リーダブルコード勉強会 in 筑波大 - コードチェンジリーダブルコード勉強会 in 筑波大 - コードチェンジ
リーダブルコード勉強会 in 筑波大 - コードチェンジ
 
SEゼミ2015 - コードチェンジ
SEゼミ2015 - コードチェンジSEゼミ2015 - コードチェンジ
SEゼミ2015 - コードチェンジ
 
SEゼミ2014 - リーダブルコード勉強会のまとめ
SEゼミ2014 - リーダブルコード勉強会のまとめSEゼミ2014 - リーダブルコード勉強会のまとめ
SEゼミ2014 - リーダブルコード勉強会のまとめ
 
実践リーダブルコードのコードチェンジ
実践リーダブルコードのコードチェンジ実践リーダブルコードのコードチェンジ
実践リーダブルコードのコードチェンジ
 
SEゼミ2014 - リーダブルコード勉強会のまとめ
SEゼミ2014 - リーダブルコード勉強会のまとめSEゼミ2014 - リーダブルコード勉強会のまとめ
SEゼミ2014 - リーダブルコード勉強会のまとめ
 
リーダブルコードを読んだ後
リーダブルコードを読んだ後リーダブルコードを読んだ後
リーダブルコードを読んだ後
 
リーダブルコード勉強会 in 筑波大 - 練習
リーダブルコード勉強会 in 筑波大 - 練習リーダブルコード勉強会 in 筑波大 - 練習
リーダブルコード勉強会 in 筑波大 - 練習
 
実践リーダブルコードのコードチェンジ
実践リーダブルコードのコードチェンジ実践リーダブルコードのコードチェンジ
実践リーダブルコードのコードチェンジ
 
SEゼミ2015 - 練習
SEゼミ2015 - 練習SEゼミ2015 - 練習
SEゼミ2015 - 練習
 
SEゼミ2015 - リーダブルコード勉強会のまとめ
SEゼミ2015 - リーダブルコード勉強会のまとめSEゼミ2015 - リーダブルコード勉強会のまとめ
SEゼミ2015 - リーダブルコード勉強会のまとめ
 
リーダブルコードワークショップ(パイオニア向け)のまとめ
リーダブルコードワークショップ(パイオニア向け)のまとめリーダブルコードワークショップ(パイオニア向け)のまとめ
リーダブルコードワークショップ(パイオニア向け)のまとめ
 
Potatotops20141217
Potatotops20141217Potatotops20141217
Potatotops20141217
 
開発者は仕事でリーダブルなコードを書けるのか?
開発者は仕事でリーダブルなコードを書けるのか?開発者は仕事でリーダブルなコードを書けるのか?
開発者は仕事でリーダブルなコードを書けるのか?
 
リーダブルコード勉強会 in 筑波大のまとめ
リーダブルコード勉強会 in 筑波大のまとめリーダブルコード勉強会 in 筑波大のまとめ
リーダブルコード勉強会 in 筑波大のまとめ
 
Rubyを使った分散全文検索ミドルウェア
Rubyを使った分散全文検索ミドルウェアRubyを使った分散全文検索ミドルウェア
Rubyを使った分散全文検索ミドルウェア
 
クリアなコードの作り方 - How to make clear code
クリアなコードの作り方 - How to make clear codeクリアなコードの作り方 - How to make clear code
クリアなコードの作り方 - How to make clear code
 
実践リーダブルコード - 課題の実装の進め方
実践リーダブルコード - 課題の実装の進め方実践リーダブルコード - 課題の実装の進め方
実践リーダブルコード - 課題の実装の進め方
 
実践リーダブルコードのまとめ
実践リーダブルコードのまとめ実践リーダブルコードのまとめ
実践リーダブルコードのまとめ
 
プログラマー
プログラマープログラマー
プログラマー
 
実践リーダブルコードのふりかえり
実践リーダブルコードのふりかえり実践リーダブルコードのふりかえり
実践リーダブルコードのふりかえり
 

Plus de 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
 

Plus de 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 - リーダブルコード勉強会2 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 目指すためにやること コードチェンジ
  • 7. コードチェンジ Powered by Rabbit 2.1.3 コードチェンジでやること 書いて←自己流で本気をだす (午前中にやった) 1. 読んで←他のコードから吸収 (読まないといけない状況を強制的に作る) 2. 書いて←↑を活用して成長3.
  • 8. コードチェンジ Powered by Rabbit 2.1.3 どうしてこうやるか 既存のテクニックの習得 本から学ぶ✓ 野生のコードを読む→ リーダブルコードを発見→ 吸収 ↑を体験 ✓ 1. 新規にテクニックを発明 リーダブルでないコードを発見→ 改善案を発明 ✓ 2.
  • 9. コードチェンジ Powered by Rabbit 2.1.3 やり方 交換相手を決める✓ 交換相手のリポジトリーをfork✓ ↑を使って開発継続✓
  • 10. コードチェンジ Powered by Rabbit 2.1.3 交換相手の決め方 基準 だいたい同じ状況同士✓ 例: 進み具合、環境✓ ✓ メンターがヒアリング 積極的に協力して✓ ✓
  • 11. コードチェンジ Powered by Rabbit 2.1.3 リポジトリーをfork やり方がわからない人は挙手✓
  • 12. コードチェンジ Powered by Rabbit 2.1.3 開発継続 どこまで進んでいるかを確認 READMEやlogを参考に (どういう風に書いておけばよかったか考えてみて) ✓ ✓ ↑から開発を継続✓
  • 13. コードチェンジ Powered by Rabbit 2.1.3 忘れないで よいコードを見つけたらメモ memo.mdに追記して随時push✓ 後でよいコードを共有する時に使う✓ ✓ 書くこと コードのURL✓ よい理由✓ 見つけたきっかけ✓ ✓
  • 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 忘れないで よいコードを見つけたらメモ memo.mdに追記して随時push✓ 後でよいコードを共有する時に使う✓ ✓ 書くこと コードのURL✓ よい理由✓ 見つけたきっかけ✓ ✓