SlideShare a Scribd company logo
1 of 22
Download to read offline
まとめ 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
やったこと
書いて1.
読んで2.
書いて3.
まとめ Powered by Rabbit 2.1.3
やったこと: 意図
書いて←自己流で本気をだす1.
読んで←他のコードから吸収2.
書いて←↑を活用して成長3.
まとめ Powered by Rabbit 2.1.3
どうしてこうやったか
既存のテクニックの習得
本から学ぶ✓
野生のコードを読む→
リーダブルコードを発見→
吸収 ↑を体験
✓
1.
新規にテクニックを発明
リーダブルでないコードを発見→
改善案を発明
✓
2.
まとめ Powered by Rabbit 2.1.3
やった結果
発見できた?✓
気をつけたことはある?✓
これからも発見できそう?✓
まとめ Powered by Rabbit 2.1.3
発見方法のヒント
リーダブルコード
読む人がリーダブルと思ったコード✓
✓
読む人視点が重要
読む人の視点を忘れないためには?✓
普段からコードを読む習慣をつける✓
✓
まとめ Powered by Rabbit 2.1.3
明日からのヒント1
OSSを1つ選ぶ
自分が使っているOSS✓
気になる会社が作っているOSS✓
✓
毎日コミットを読む(読み)
さらに: バグを直してみる(書き)✓
さらに: 機能追加してみる(書き)✓
✓
まとめ Powered by Rabbit 2.1.3
明日からのヒント2
さらに開発継続
forkされた自リポジトリーをmerge✓
そこから開発継続✓
よいコードは増えていた?✓
✓
他の参加者のコードも読む
よいコードを見つける✓
自分のコードに取り込む✓
✓
まとめ Powered by Rabbit 2.1.3
面接時のヒント1
コードを
見せてください
まとめ Powered by Rabbit 2.1.3
ヒント1の理由
読む人視点が鍛えられていれば…
どのくらいのレベル感?✓
リーダブルコードを書く会社?✓
会社に選ばれるだけじゃなく
あなたも会社を選んで!
✓
まとめ Powered by Rabbit 2.1.3
ヒント1の補足
リーダブルコード!=絶対善
使い捨てプログラムは
リーダブルじゃなくてもいいかも
✓
✓
使い捨てプログラム?
/tmp/以下に書くやつ✓
コマンドライン上のワンライナー✓
✓
まとめ Powered by Rabbit 2.1.3
面接時のヒント2
開発チーム内で
仲間のコードを
読んでますか?
まとめ Powered by Rabbit 2.1.3
ヒント2の補足
レビューしてるよ
少し違う✓
レビュー: 問題がないことを確認✓
✓
うん、そりゃ読みあってるよ
期待大✓
読みたくて読んでいる✓
✓
まとめ Powered by Rabbit 2.1.3
ヒント2の理由
読んでいない
読む人視点がないかも✓
→ リーダブルコードじゃないかも✓
✓
読みたくて読んでいる
読む人視点を持っていそう✓
自分も他の人のコードを読める!✓
✓
まとめ Powered by Rabbit 2.1.3
広告
コードリーダー育成支援
http://www.clear-code.com/services/code-reader/
読みたくて読む文化づくりを支援
まとめ Powered by Rabbit 2.1.3
まとめ1
目的
リーダブルコード力アップ✓
✓
やったこと
書いて読んで書いて✓
✓
ポイント
読む人視点
(読む人がリーダブルと言ったらリーダブルコード)
✓
✓
まとめ Powered by Rabbit 2.1.3
まとめ2
明日からのヒント
OSSのコミットを毎日読もう✓
さらに: 修正・改良してみよう✓
✓
面接のヒント
コードを見せて✓
コードを読みあってる?✓
✓
まとめ Powered by Rabbit 2.1.3
おまけ
コードレビュー at 懇親会
希望者のみ✓
自分が書いたコードのみ✓
✓
背景
コードレビューは目的にあわない✓
せっかく現役エンジニアがいる✓
チャンスがあるといいね→懇親会で✓
✓
まとめ Powered by Rabbit 2.1.3
さいごに: プログラマー
私たちはプログラマー✓
私たちはコードを書く✓
コードを書いて
伝えられる事は多い
✓
コードを書いているだけで
影響を与えられる
✓
まとめ Powered by Rabbit 2.1.3
さいごに: 贈る言葉
コードを読んで✓
リーダブルコードを学んで✓
コードを書いて✓
リーダブルコードを伝えて✓
よいプログラマーになってね✓

More Related Content

What's hot

Webアプリケーションは難しい
Webアプリケーションは難しいWebアプリケーションは難しい
Webアプリケーションは難しいTakafumi ONAKA
 
ソーシャルアプリを分析してみた
ソーシャルアプリを分析してみたソーシャルアプリを分析してみた
ソーシャルアプリを分析してみたDrecom Co., Ltd.
 
ゲームエンジニアのためのデータベース設計
ゲームエンジニアのためのデータベース設計ゲームエンジニアのためのデータベース設計
ゲームエンジニアのためのデータベース設計sairoutine
 
Html5超入門
Html5超入門Html5超入門
Html5超入門Monaca
 
これからはじめるインフラエンジニア
これからはじめるインフラエンジニアこれからはじめるインフラエンジニア
これからはじめるインフラエンジニア外道 父
 
お絵かきのお話(~nw構成図ってどんな感じで書いてます?~)
お絵かきのお話(~nw構成図ってどんな感じで書いてます?~)お絵かきのお話(~nw構成図ってどんな感じで書いてます?~)
お絵かきのお話(~nw構成図ってどんな感じで書いてます?~)Tatsuya Maruno
 
ドメイン駆動設計サンプルコードの徹底解説
ドメイン駆動設計サンプルコードの徹底解説ドメイン駆動設計サンプルコードの徹底解説
ドメイン駆動設計サンプルコードの徹底解説増田 亨
 
mrubyを使った クラウド連携
mrubyを使った クラウド連携mrubyを使った クラウド連携
mrubyを使った クラウド連携三七男 山本
 

What's hot (9)

Webアプリケーションは難しい
Webアプリケーションは難しいWebアプリケーションは難しい
Webアプリケーションは難しい
 
ソーシャルアプリを分析してみた
ソーシャルアプリを分析してみたソーシャルアプリを分析してみた
ソーシャルアプリを分析してみた
 
ゲームエンジニアのためのデータベース設計
ゲームエンジニアのためのデータベース設計ゲームエンジニアのためのデータベース設計
ゲームエンジニアのためのデータベース設計
 
Html5超入門
Html5超入門Html5超入門
Html5超入門
 
これからはじめるインフラエンジニア
これからはじめるインフラエンジニアこれからはじめるインフラエンジニア
これからはじめるインフラエンジニア
 
02.超初心者向けセキュリティ入門(IoT)
02.超初心者向けセキュリティ入門(IoT)02.超初心者向けセキュリティ入門(IoT)
02.超初心者向けセキュリティ入門(IoT)
 
お絵かきのお話(~nw構成図ってどんな感じで書いてます?~)
お絵かきのお話(~nw構成図ってどんな感じで書いてます?~)お絵かきのお話(~nw構成図ってどんな感じで書いてます?~)
お絵かきのお話(~nw構成図ってどんな感じで書いてます?~)
 
ドメイン駆動設計サンプルコードの徹底解説
ドメイン駆動設計サンプルコードの徹底解説ドメイン駆動設計サンプルコードの徹底解説
ドメイン駆動設計サンプルコードの徹底解説
 
mrubyを使った クラウド連携
mrubyを使った クラウド連携mrubyを使った クラウド連携
mrubyを使った クラウド連携
 

Viewers also liked

Hatoholのログ監視機能 2014/10版
Hatoholのログ監視機能 2014/10版Hatoholのログ監視機能 2014/10版
Hatoholのログ監視機能 2014/10版Kouhei Sutou
 
【HinemosWorld2016】A2-3_Hinemosで最大化する、クラウド活用メリット
【HinemosWorld2016】A2-3_Hinemosで最大化する、クラウド活用メリット【HinemosWorld2016】A2-3_Hinemosで最大化する、クラウド活用メリット
【HinemosWorld2016】A2-3_Hinemosで最大化する、クラウド活用メリットHinemos
 
【HinemosWorld2016】A2-4_ミッションクリティカルシステムの運用管理を可能とするHinemosの仕組み
【HinemosWorld2016】A2-4_ミッションクリティカルシステムの運用管理を可能とするHinemosの仕組み【HinemosWorld2016】A2-4_ミッションクリティカルシステムの運用管理を可能とするHinemosの仕組み
【HinemosWorld2016】A2-4_ミッションクリティカルシステムの運用管理を可能とするHinemosの仕組みHinemos
 
【HinemosWorld2016】A1-1_A2-1_IoT時代の攻めの運用を実現するHinemos
【HinemosWorld2016】A1-1_A2-1_IoT時代の攻めの運用を実現するHinemos【HinemosWorld2016】A1-1_A2-1_IoT時代の攻めの運用を実現するHinemos
【HinemosWorld2016】A1-1_A2-1_IoT時代の攻めの運用を実現するHinemosHinemos
 
【HinemosWorld2016】A1-4_Hinemosを用いた大規模システム運用管理
【HinemosWorld2016】A1-4_Hinemosを用いた大規模システム運用管理【HinemosWorld2016】A1-4_Hinemosを用いた大規模システム運用管理
【HinemosWorld2016】A1-4_Hinemosを用いた大規模システム運用管理Hinemos
 
【HinemosWorld2016】A1-2_A2-2_2017年1月リリース!Hinemos ver.6.0のご紹介
【HinemosWorld2016】A1-2_A2-2_2017年1月リリース!Hinemos ver.6.0のご紹介【HinemosWorld2016】A1-2_A2-2_2017年1月リリース!Hinemos ver.6.0のご紹介
【HinemosWorld2016】A1-2_A2-2_2017年1月リリース!Hinemos ver.6.0のご紹介Hinemos
 
【HinemosWorld2016】A1-6_A2-6_Hinemos超入門「Hinemosを使ってみよう!」
【HinemosWorld2016】A1-6_A2-6_Hinemos超入門「Hinemosを使ってみよう!」【HinemosWorld2016】A1-6_A2-6_Hinemos超入門「Hinemosを使ってみよう!」
【HinemosWorld2016】A1-6_A2-6_Hinemos超入門「Hinemosを使ってみよう!」Hinemos
 
【HinemosWorld2016】A1-5_Hinemos徹底解剖(ジョブ編)
【HinemosWorld2016】A1-5_Hinemos徹底解剖(ジョブ編)【HinemosWorld2016】A1-5_Hinemos徹底解剖(ジョブ編)
【HinemosWorld2016】A1-5_Hinemos徹底解剖(ジョブ編)Hinemos
 
【HinemosWorld2016】A2-5_Hinemosによる運用管理テクニック
【HinemosWorld2016】A2-5_Hinemosによる運用管理テクニック【HinemosWorld2016】A2-5_Hinemosによる運用管理テクニック
【HinemosWorld2016】A2-5_Hinemosによる運用管理テクニックHinemos
 
【HinemosWorld2016】A1-3_商用ツールからのマイグレーション_Hinemosで実現するジョブ運用の最適化
【HinemosWorld2016】A1-3_商用ツールからのマイグレーション_Hinemosで実現するジョブ運用の最適化【HinemosWorld2016】A1-3_商用ツールからのマイグレーション_Hinemosで実現するジョブ運用の最適化
【HinemosWorld2016】A1-3_商用ツールからのマイグレーション_Hinemosで実現するジョブ運用の最適化Hinemos
 
fluentd を利用した大規模ウェブサービスのロギング
fluentd を利用した大規模ウェブサービスのロギングfluentd を利用した大規模ウェブサービスのロギング
fluentd を利用した大規模ウェブサービスのロギングYuichi Tateno
 
Fluentdのお勧めシステム構成パターン
Fluentdのお勧めシステム構成パターンFluentdのお勧めシステム構成パターン
Fluentdのお勧めシステム構成パターンKentaro Yoshida
 

Viewers also liked (12)

Hatoholのログ監視機能 2014/10版
Hatoholのログ監視機能 2014/10版Hatoholのログ監視機能 2014/10版
Hatoholのログ監視機能 2014/10版
 
【HinemosWorld2016】A2-3_Hinemosで最大化する、クラウド活用メリット
【HinemosWorld2016】A2-3_Hinemosで最大化する、クラウド活用メリット【HinemosWorld2016】A2-3_Hinemosで最大化する、クラウド活用メリット
【HinemosWorld2016】A2-3_Hinemosで最大化する、クラウド活用メリット
 
【HinemosWorld2016】A2-4_ミッションクリティカルシステムの運用管理を可能とするHinemosの仕組み
【HinemosWorld2016】A2-4_ミッションクリティカルシステムの運用管理を可能とするHinemosの仕組み【HinemosWorld2016】A2-4_ミッションクリティカルシステムの運用管理を可能とするHinemosの仕組み
【HinemosWorld2016】A2-4_ミッションクリティカルシステムの運用管理を可能とするHinemosの仕組み
 
【HinemosWorld2016】A1-1_A2-1_IoT時代の攻めの運用を実現するHinemos
【HinemosWorld2016】A1-1_A2-1_IoT時代の攻めの運用を実現するHinemos【HinemosWorld2016】A1-1_A2-1_IoT時代の攻めの運用を実現するHinemos
【HinemosWorld2016】A1-1_A2-1_IoT時代の攻めの運用を実現するHinemos
 
【HinemosWorld2016】A1-4_Hinemosを用いた大規模システム運用管理
【HinemosWorld2016】A1-4_Hinemosを用いた大規模システム運用管理【HinemosWorld2016】A1-4_Hinemosを用いた大規模システム運用管理
【HinemosWorld2016】A1-4_Hinemosを用いた大規模システム運用管理
 
【HinemosWorld2016】A1-2_A2-2_2017年1月リリース!Hinemos ver.6.0のご紹介
【HinemosWorld2016】A1-2_A2-2_2017年1月リリース!Hinemos ver.6.0のご紹介【HinemosWorld2016】A1-2_A2-2_2017年1月リリース!Hinemos ver.6.0のご紹介
【HinemosWorld2016】A1-2_A2-2_2017年1月リリース!Hinemos ver.6.0のご紹介
 
【HinemosWorld2016】A1-6_A2-6_Hinemos超入門「Hinemosを使ってみよう!」
【HinemosWorld2016】A1-6_A2-6_Hinemos超入門「Hinemosを使ってみよう!」【HinemosWorld2016】A1-6_A2-6_Hinemos超入門「Hinemosを使ってみよう!」
【HinemosWorld2016】A1-6_A2-6_Hinemos超入門「Hinemosを使ってみよう!」
 
【HinemosWorld2016】A1-5_Hinemos徹底解剖(ジョブ編)
【HinemosWorld2016】A1-5_Hinemos徹底解剖(ジョブ編)【HinemosWorld2016】A1-5_Hinemos徹底解剖(ジョブ編)
【HinemosWorld2016】A1-5_Hinemos徹底解剖(ジョブ編)
 
【HinemosWorld2016】A2-5_Hinemosによる運用管理テクニック
【HinemosWorld2016】A2-5_Hinemosによる運用管理テクニック【HinemosWorld2016】A2-5_Hinemosによる運用管理テクニック
【HinemosWorld2016】A2-5_Hinemosによる運用管理テクニック
 
【HinemosWorld2016】A1-3_商用ツールからのマイグレーション_Hinemosで実現するジョブ運用の最適化
【HinemosWorld2016】A1-3_商用ツールからのマイグレーション_Hinemosで実現するジョブ運用の最適化【HinemosWorld2016】A1-3_商用ツールからのマイグレーション_Hinemosで実現するジョブ運用の最適化
【HinemosWorld2016】A1-3_商用ツールからのマイグレーション_Hinemosで実現するジョブ運用の最適化
 
fluentd を利用した大規模ウェブサービスのロギング
fluentd を利用した大規模ウェブサービスのロギングfluentd を利用した大規模ウェブサービスのロギング
fluentd を利用した大規模ウェブサービスのロギング
 
Fluentdのお勧めシステム構成パターン
Fluentdのお勧めシステム構成パターンFluentdのお勧めシステム構成パターン
Fluentdのお勧めシステム構成パターン
 

Similar to SEゼミ2014 - リーダブルコード勉強会のまとめ

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

Similar to SEゼミ2014 - リーダブルコード勉強会のまとめ (20)

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

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 - リーダブルコード勉強会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 やったこと 書いて1. 読んで2. 書いて3.
  • 5. まとめ Powered by Rabbit 2.1.3 やったこと: 意図 書いて←自己流で本気をだす1. 読んで←他のコードから吸収2. 書いて←↑を活用して成長3.
  • 6. まとめ Powered by Rabbit 2.1.3 どうしてこうやったか 既存のテクニックの習得 本から学ぶ✓ 野生のコードを読む→ リーダブルコードを発見→ 吸収 ↑を体験 ✓ 1. 新規にテクニックを発明 リーダブルでないコードを発見→ 改善案を発明 ✓ 2.
  • 7. まとめ Powered by Rabbit 2.1.3 やった結果 発見できた?✓ 気をつけたことはある?✓ これからも発見できそう?✓
  • 8. まとめ Powered by Rabbit 2.1.3 発見方法のヒント リーダブルコード 読む人がリーダブルと思ったコード✓ ✓ 読む人視点が重要 読む人の視点を忘れないためには?✓ 普段からコードを読む習慣をつける✓ ✓
  • 9. まとめ Powered by Rabbit 2.1.3 明日からのヒント1 OSSを1つ選ぶ 自分が使っているOSS✓ 気になる会社が作っているOSS✓ ✓ 毎日コミットを読む(読み) さらに: バグを直してみる(書き)✓ さらに: 機能追加してみる(書き)✓ ✓
  • 10. まとめ Powered by Rabbit 2.1.3 明日からのヒント2 さらに開発継続 forkされた自リポジトリーをmerge✓ そこから開発継続✓ よいコードは増えていた?✓ ✓ 他の参加者のコードも読む よいコードを見つける✓ 自分のコードに取り込む✓ ✓
  • 11. まとめ Powered by Rabbit 2.1.3 面接時のヒント1 コードを 見せてください
  • 12. まとめ Powered by Rabbit 2.1.3 ヒント1の理由 読む人視点が鍛えられていれば… どのくらいのレベル感?✓ リーダブルコードを書く会社?✓ 会社に選ばれるだけじゃなく あなたも会社を選んで! ✓
  • 13. まとめ Powered by Rabbit 2.1.3 ヒント1の補足 リーダブルコード!=絶対善 使い捨てプログラムは リーダブルじゃなくてもいいかも ✓ ✓ 使い捨てプログラム? /tmp/以下に書くやつ✓ コマンドライン上のワンライナー✓ ✓
  • 14. まとめ Powered by Rabbit 2.1.3 面接時のヒント2 開発チーム内で 仲間のコードを 読んでますか?
  • 15. まとめ Powered by Rabbit 2.1.3 ヒント2の補足 レビューしてるよ 少し違う✓ レビュー: 問題がないことを確認✓ ✓ うん、そりゃ読みあってるよ 期待大✓ 読みたくて読んでいる✓ ✓
  • 16. まとめ Powered by Rabbit 2.1.3 ヒント2の理由 読んでいない 読む人視点がないかも✓ → リーダブルコードじゃないかも✓ ✓ 読みたくて読んでいる 読む人視点を持っていそう✓ 自分も他の人のコードを読める!✓ ✓
  • 17. まとめ Powered by Rabbit 2.1.3 広告 コードリーダー育成支援 http://www.clear-code.com/services/code-reader/ 読みたくて読む文化づくりを支援
  • 18. まとめ Powered by Rabbit 2.1.3 まとめ1 目的 リーダブルコード力アップ✓ ✓ やったこと 書いて読んで書いて✓ ✓ ポイント 読む人視点 (読む人がリーダブルと言ったらリーダブルコード) ✓ ✓
  • 19. まとめ Powered by Rabbit 2.1.3 まとめ2 明日からのヒント OSSのコミットを毎日読もう✓ さらに: 修正・改良してみよう✓ ✓ 面接のヒント コードを見せて✓ コードを読みあってる?✓ ✓
  • 20. まとめ Powered by Rabbit 2.1.3 おまけ コードレビュー at 懇親会 希望者のみ✓ 自分が書いたコードのみ✓ ✓ 背景 コードレビューは目的にあわない✓ せっかく現役エンジニアがいる✓ チャンスがあるといいね→懇親会で✓ ✓
  • 21. まとめ Powered by Rabbit 2.1.3 さいごに: プログラマー 私たちはプログラマー✓ 私たちはコードを書く✓ コードを書いて 伝えられる事は多い ✓ コードを書いているだけで 影響を与えられる ✓
  • 22. まとめ Powered by Rabbit 2.1.3 さいごに: 贈る言葉 コードを読んで✓ リーダブルコードを学んで✓ コードを書いて✓ リーダブルコードを伝えて✓ よいプログラマーになってね✓