SlideShare a Scribd company logo
1 of 19
リーダブルコード
大谷 隼
(オオタニ ジュン)
2016/11/5
はじめに
• 発表の背景
• 書籍「リーダブルコード」の内容が、
実装力強化に効果的と感じたため
• 発表の目的
• リーダブルコードを知ってもらう
• 発表の流れ
• リーダブルコードとは何か
• リーダブルコードのメリット
• リーダブルコードを書く方法
• 対象者
• 主に「実装者」
2
リーダブルコード…?
書籍「リーダブルコード」
• 書籍の目的
• 私たちが「良いコード」を書けるようになること
• 良いコードの基本定理
• 一番「良いコード」とは、他人が理解しやすいコー
ド(理解にかかる時間が最短となるコード)である。
→リーダブルコード
• メリット
• バグの発見容易性
• コードの変更容易性
• 必要性
• コードを読む他人とは、数ヶ月後の「自分」かもし
れない…
3
画像引用元
https://www.oreilly.co.jp/books/images/picture_large978-4-87311-565-8.jpeg
良いコードを書く方法
• ①表面上の改善
• ①-1. 変数名に情報を詰め込む
• ①-2. コメントに価値を持たせる
• ①-3. フォーマットを奇麗にする
• ② ループとロジックの単純化
• ②-1. 巨大コードを分割する
• ②-2. 制御フローを単純化する
• ②-3. 適切に変数を配置する
• ③ コードの再編成
• ③-1. 無関係な下位問題の抽出する
• ③-2. 1関数=1問題とする
• ③-3. ライブラリを使う
4
①表面上の改善
5
①-1
変数名に情報を詰め込む
6
×
○
①-2
コメントに価値を持たせる
7
×
○
①-3
奇麗なフォーマット
8
×
○
②ループとロジックの単純化
9
②-1
巨大コードを分割する
10
×
○
②-2
制御フローを単純化する
11
×
○
②-3
適切に変数を配置する
12
×
○
③コードの再編成
13
③-1
無関係な下位問題の抽出する
14
×
○
③-2
1関数=1問題とする
15
×
○
③-3
ライブラリを使う
16
×
○
まとめ
• 良いコードの基本定理
• 他人が理解しやすいコードが、
一番「良いコード」である
• 良いコードにする方法
• ① 表面上の改善
• ② ループとロジックの単純化
• ③ コードの再編成
• リーダブルコードのメリット
• バグ発見の容易性
• コードの変更容易性
17
私の感想
• なぜリーダブルコードが必要と思うのか
• 実装力向上の道標となる
• 実装のストレスが減少する
• 「良いコード」の共通言語になる
• リーダブルコードを通して行いたいこと
• 高品質なライブラリ作成・公開
• チーム内でリーダブルコードを実践
→現在、対応中😃 (結果は乞うご期待!)
18
以上
19

More Related Content

Similar to リーダブルコード

リーダブルコードについて
リーダブルコードについてリーダブルコードについて
リーダブルコードについてtaroshin
 
可読性について リーダブルコード part1(表面上の改善)
可読性について リーダブルコード part1(表面上の改善)可読性について リーダブルコード part1(表面上の改善)
可読性について リーダブルコード part1(表面上の改善)tak
 
「CodeYourRuby」で オープンなコードレビューを体験しよう
「CodeYourRuby」で オープンなコードレビューを体験しよう「CodeYourRuby」で オープンなコードレビューを体験しよう
「CodeYourRuby」で オープンなコードレビューを体験しよう中條 剛
 
趣味プログラマの先輩からのアドバイス
趣味プログラマの先輩からのアドバイス趣味プログラマの先輩からのアドバイス
趣味プログラマの先輩からのアドバイスHiroaki Murayama
 
デキるプログラマだけが知っているコードレビュー7つの秘訣
デキるプログラマだけが知っているコードレビュー7つの秘訣デキるプログラマだけが知っているコードレビュー7つの秘訣
デキるプログラマだけが知っているコードレビュー7つの秘訣Masahiro Nishimi
 
実践リーダブルコードのコードチェンジ
実践リーダブルコードのコードチェンジ実践リーダブルコードのコードチェンジ
実践リーダブルコードのコードチェンジKouhei Sutou
 
Blenderソースコードリーディング
BlenderソースコードリーディングBlenderソースコードリーディング
BlenderソースコードリーディングTetsuo Mitsuda
 
リーダブルコード 1.0'
リーダブルコード 1.0'リーダブルコード 1.0'
リーダブルコード 1.0'Yamamura Takashi
 
RDB経験者に送るMongoDBの勘所(db tech showcase tokyo 2013)
RDB経験者に送るMongoDBの勘所(db tech showcase tokyo 2013)RDB経験者に送るMongoDBの勘所(db tech showcase tokyo 2013)
RDB経験者に送るMongoDBの勘所(db tech showcase tokyo 2013)Ryuji Tamagawa
 
Casual Compression on MongoDB
Casual Compression on MongoDBCasual Compression on MongoDB
Casual Compression on MongoDBmoai kids
 
プログラマが欲しい仕様書とは
プログラマが欲しい仕様書とはプログラマが欲しい仕様書とは
プログラマが欲しい仕様書とはKatsutoshi Makino
 
NodeJSでCLI開発を楽しくするライブラリの紹介
NodeJSでCLI開発を楽しくするライブラリの紹介NodeJSでCLI開発を楽しくするライブラリの紹介
NodeJSでCLI開発を楽しくするライブラリの紹介Ryo Iinuma
 
Readable coder
Readable coderReadable coder
Readable coderabochi7328
 
一人でも出来るコードリーディング
一人でも出来るコードリーディング一人でも出来るコードリーディング
一人でも出来るコードリーディングTaiyo Akashi
 
SEゼミ2015 - リーダブルコード勉強会のまとめ
SEゼミ2015 - リーダブルコード勉強会のまとめSEゼミ2015 - リーダブルコード勉強会のまとめ
SEゼミ2015 - リーダブルコード勉強会のまとめKouhei Sutou
 
リーダブルコード勉強会 in 筑波大のまとめ
リーダブルコード勉強会 in 筑波大のまとめリーダブルコード勉強会 in 筑波大のまとめ
リーダブルコード勉強会 in 筑波大のまとめKouhei Sutou
 
reading エンタープライズアプリケーションアーキテクチャパターン 1.概要
reading エンタープライズアプリケーションアーキテクチャパターン 1.概要reading エンタープライズアプリケーションアーキテクチャパターン 1.概要
reading エンタープライズアプリケーションアーキテクチャパターン 1.概要Masato Mori
 
仕様七変化
仕様七変化仕様七変化
仕様七変化galluda
 
【デブサミ福岡B5】コードレビューの進め方~全員で行う品質の維持~
【デブサミ福岡B5】コードレビューの進め方~全員で行う品質の維持~【デブサミ福岡B5】コードレビューの進め方~全員で行う品質の維持~
【デブサミ福岡B5】コードレビューの進め方~全員で行う品質の維持~Developers Summit
 

Similar to リーダブルコード (20)

リーダブルコードについて
リーダブルコードについてリーダブルコードについて
リーダブルコードについて
 
可読性について リーダブルコード part1(表面上の改善)
可読性について リーダブルコード part1(表面上の改善)可読性について リーダブルコード part1(表面上の改善)
可読性について リーダブルコード part1(表面上の改善)
 
「CodeYourRuby」で オープンなコードレビューを体験しよう
「CodeYourRuby」で オープンなコードレビューを体験しよう「CodeYourRuby」で オープンなコードレビューを体験しよう
「CodeYourRuby」で オープンなコードレビューを体験しよう
 
趣味プログラマの先輩からのアドバイス
趣味プログラマの先輩からのアドバイス趣味プログラマの先輩からのアドバイス
趣味プログラマの先輩からのアドバイス
 
デキるプログラマだけが知っているコードレビュー7つの秘訣
デキるプログラマだけが知っているコードレビュー7つの秘訣デキるプログラマだけが知っているコードレビュー7つの秘訣
デキるプログラマだけが知っているコードレビュー7つの秘訣
 
実践リーダブルコードのコードチェンジ
実践リーダブルコードのコードチェンジ実践リーダブルコードのコードチェンジ
実践リーダブルコードのコードチェンジ
 
Blenderソースコードリーディング
BlenderソースコードリーディングBlenderソースコードリーディング
Blenderソースコードリーディング
 
リーダブルコード 1.0'
リーダブルコード 1.0'リーダブルコード 1.0'
リーダブルコード 1.0'
 
RDB経験者に送るMongoDBの勘所(db tech showcase tokyo 2013)
RDB経験者に送るMongoDBの勘所(db tech showcase tokyo 2013)RDB経験者に送るMongoDBの勘所(db tech showcase tokyo 2013)
RDB経験者に送るMongoDBの勘所(db tech showcase tokyo 2013)
 
Casual Compression on MongoDB
Casual Compression on MongoDBCasual Compression on MongoDB
Casual Compression on MongoDB
 
プログラマが欲しい仕様書とは
プログラマが欲しい仕様書とはプログラマが欲しい仕様書とは
プログラマが欲しい仕様書とは
 
NodeJSでCLI開発を楽しくするライブラリの紹介
NodeJSでCLI開発を楽しくするライブラリの紹介NodeJSでCLI開発を楽しくするライブラリの紹介
NodeJSでCLI開発を楽しくするライブラリの紹介
 
Readable coder
Readable coderReadable coder
Readable coder
 
一人でも出来るコードリーディング
一人でも出来るコードリーディング一人でも出来るコードリーディング
一人でも出来るコードリーディング
 
SEゼミ2015 - リーダブルコード勉強会のまとめ
SEゼミ2015 - リーダブルコード勉強会のまとめSEゼミ2015 - リーダブルコード勉強会のまとめ
SEゼミ2015 - リーダブルコード勉強会のまとめ
 
リーダブルコード勉強会 in 筑波大のまとめ
リーダブルコード勉強会 in 筑波大のまとめリーダブルコード勉強会 in 筑波大のまとめ
リーダブルコード勉強会 in 筑波大のまとめ
 
reading エンタープライズアプリケーションアーキテクチャパターン 1.概要
reading エンタープライズアプリケーションアーキテクチャパターン 1.概要reading エンタープライズアプリケーションアーキテクチャパターン 1.概要
reading エンタープライズアプリケーションアーキテクチャパターン 1.概要
 
仕様七変化
仕様七変化仕様七変化
仕様七変化
 
Markdownもはじめよう
MarkdownもはじめようMarkdownもはじめよう
Markdownもはじめよう
 
【デブサミ福岡B5】コードレビューの進め方~全員で行う品質の維持~
【デブサミ福岡B5】コードレビューの進め方~全員で行う品質の維持~【デブサミ福岡B5】コードレビューの進め方~全員で行う品質の維持~
【デブサミ福岡B5】コードレビューの進め方~全員で行う品質の維持~
 

リーダブルコード