Suche senden
Hochladen
名著『リーダブルコード - より良いコードを書くためのシンプルで実践的なテクニック』を解説者と一緒に読み解こう
•
2 gefällt mir
•
1,581 views
Kouhei Sutou
Folgen
2014年12月9日(火)21:00-22:00に実施する授業の資料です。今回は「3章 誤解されない名前」を読みながら、よい名前のつけ方について学びます。
Weniger lesen
Mehr lesen
Melden
Teilen
Melden
Teilen
1 von 40
Jetzt herunterladen
Downloaden Sie, um offline zu lesen
Empfohlen
リーダブルコードを読んだ後
リーダブルコードを読んだ後
Kouhei Sutou
名著『リーダブルコード』を解説者と一緒に読み解こう - 7章 制御フローを読みやすくする
名著『リーダブルコード』を解説者と一緒に読み解こう - 7章 制御フローを読みやすくする
Kouhei Sutou
リーダブルコード 1.0'
リーダブルコード 1.0'
Yamamura Takashi
リーダブルコード
リーダブルコード
Keita Otsuka
リーダブルコード勉強会
リーダブルコード勉強会
norimatsu2012
実践リーダブルコードのコードチェンジ
実践リーダブルコードのコードチェンジ
Kouhei Sutou
負荷がたかいいんだから~♪(仮)
負荷がたかいいんだから~♪(仮)
Yohei Hamada
良いコードとは
良いコードとは
Nobuyuki Matsui
Empfohlen
リーダブルコードを読んだ後
リーダブルコードを読んだ後
Kouhei Sutou
名著『リーダブルコード』を解説者と一緒に読み解こう - 7章 制御フローを読みやすくする
名著『リーダブルコード』を解説者と一緒に読み解こう - 7章 制御フローを読みやすくする
Kouhei Sutou
リーダブルコード 1.0'
リーダブルコード 1.0'
Yamamura Takashi
リーダブルコード
リーダブルコード
Keita Otsuka
リーダブルコード勉強会
リーダブルコード勉強会
norimatsu2012
実践リーダブルコードのコードチェンジ
実践リーダブルコードのコードチェンジ
Kouhei Sutou
負荷がたかいいんだから~♪(仮)
負荷がたかいいんだから~♪(仮)
Yohei Hamada
良いコードとは
良いコードとは
Nobuyuki Matsui
IDEALIZE YOU
IDEALIZE YOU
佑介 九岡
Blazor0.6.0を用いたスクリプトレスWebアプリ開発の可能性
Blazor0.6.0を用いたスクリプトレスWebアプリ開発の可能性
Yamamoto Reki
WebStormでできること
WebStormでできること
kamiyam .
Doma SQLテンプレートのしくみ
Doma SQLテンプレートのしくみ
Toshihiro Nakamura
大規模ソーシャルゲーム開発から学んだPHP&MySQL実践テクニック
大規模ソーシャルゲーム開発から学んだPHP&MySQL実践テクニック
infinite_loop
PHPでAIプログラミングコンテスト準優勝するまでの軌跡
PHPでAIプログラミングコンテスト準優勝するまでの軌跡
Shintaro Kurachi
CEDEC2021 ダウンロード時間を大幅減!~大量のアセットをさばく高速な実装と運用事例の共有~
CEDEC2021 ダウンロード時間を大幅減!~大量のアセットをさばく高速な実装と運用事例の共有~
SEGADevTech
ゲームエンジニアのためのデータベース設計
ゲームエンジニアのためのデータベース設計
sairoutine
Goのサーバサイド実装におけるレイヤ設計とレイヤ内実装について考える
Goのサーバサイド実装におけるレイヤ設計とレイヤ内実装について考える
pospome
読みやすいプログラム、書き換えやすいプログラム
読みやすいプログラム、書き換えやすいプログラム
amusementcreators
サーバー未経験者がソーシャルゲームを通して知ったサーバーの事
サーバー未経験者がソーシャルゲームを通して知ったサーバーの事
Manabu Koga
リーダブルコードワークショップ(パイオニア向け) - 課題の実装の進め方
リーダブルコードワークショップ(パイオニア向け) - 課題の実装の進め方
Kouhei Sutou
今からでも遅くないC#開発
今からでも遅くないC#開発
Kazunori Hamamoto
ゲーム開発プロセスカイゼン
ゲーム開発プロセスカイゼン
光晶 上原
第4部「Tddとペアプロのめざめ」
第4部「Tddとペアプロのめざめ」
Hiromu Shioya
WTM53 phpフレームワーク いまさらcodeigniter
WTM53 phpフレームワーク いまさらcodeigniter
Masanori Oobayashi
Javaのログ出力: 道具と考え方
Javaのログ出力: 道具と考え方
Taku Miyakawa
2015-12-16 某S社、出直しDDDってるってよ
2015-12-16 某S社、出直しDDDってるってよ
kumake
トランザクションスクリプトのすすめ
トランザクションスクリプトのすすめ
pospome
C# コーディングガイドライン 2013/02/26
C# コーディングガイドライン 2013/02/26
Yoshihisa Ozaki
リーダブルコード勉強会 in 筑波大のまとめ
リーダブルコード勉強会 in 筑波大のまとめ
Kouhei Sutou
実践リーダブルコードの概要
実践リーダブルコードの概要
Kouhei Sutou
Weitere ähnliche Inhalte
Was ist angesagt?
IDEALIZE YOU
IDEALIZE YOU
佑介 九岡
Blazor0.6.0を用いたスクリプトレスWebアプリ開発の可能性
Blazor0.6.0を用いたスクリプトレスWebアプリ開発の可能性
Yamamoto Reki
WebStormでできること
WebStormでできること
kamiyam .
Doma SQLテンプレートのしくみ
Doma SQLテンプレートのしくみ
Toshihiro Nakamura
大規模ソーシャルゲーム開発から学んだPHP&MySQL実践テクニック
大規模ソーシャルゲーム開発から学んだPHP&MySQL実践テクニック
infinite_loop
PHPでAIプログラミングコンテスト準優勝するまでの軌跡
PHPでAIプログラミングコンテスト準優勝するまでの軌跡
Shintaro Kurachi
CEDEC2021 ダウンロード時間を大幅減!~大量のアセットをさばく高速な実装と運用事例の共有~
CEDEC2021 ダウンロード時間を大幅減!~大量のアセットをさばく高速な実装と運用事例の共有~
SEGADevTech
ゲームエンジニアのためのデータベース設計
ゲームエンジニアのためのデータベース設計
sairoutine
Goのサーバサイド実装におけるレイヤ設計とレイヤ内実装について考える
Goのサーバサイド実装におけるレイヤ設計とレイヤ内実装について考える
pospome
読みやすいプログラム、書き換えやすいプログラム
読みやすいプログラム、書き換えやすいプログラム
amusementcreators
サーバー未経験者がソーシャルゲームを通して知ったサーバーの事
サーバー未経験者がソーシャルゲームを通して知ったサーバーの事
Manabu Koga
リーダブルコードワークショップ(パイオニア向け) - 課題の実装の進め方
リーダブルコードワークショップ(パイオニア向け) - 課題の実装の進め方
Kouhei Sutou
今からでも遅くないC#開発
今からでも遅くないC#開発
Kazunori Hamamoto
ゲーム開発プロセスカイゼン
ゲーム開発プロセスカイゼン
光晶 上原
第4部「Tddとペアプロのめざめ」
第4部「Tddとペアプロのめざめ」
Hiromu Shioya
WTM53 phpフレームワーク いまさらcodeigniter
WTM53 phpフレームワーク いまさらcodeigniter
Masanori Oobayashi
Javaのログ出力: 道具と考え方
Javaのログ出力: 道具と考え方
Taku Miyakawa
2015-12-16 某S社、出直しDDDってるってよ
2015-12-16 某S社、出直しDDDってるってよ
kumake
トランザクションスクリプトのすすめ
トランザクションスクリプトのすすめ
pospome
C# コーディングガイドライン 2013/02/26
C# コーディングガイドライン 2013/02/26
Yoshihisa Ozaki
Was ist angesagt?
(20)
IDEALIZE YOU
IDEALIZE YOU
Blazor0.6.0を用いたスクリプトレスWebアプリ開発の可能性
Blazor0.6.0を用いたスクリプトレスWebアプリ開発の可能性
WebStormでできること
WebStormでできること
Doma SQLテンプレートのしくみ
Doma SQLテンプレートのしくみ
大規模ソーシャルゲーム開発から学んだPHP&MySQL実践テクニック
大規模ソーシャルゲーム開発から学んだPHP&MySQL実践テクニック
PHPでAIプログラミングコンテスト準優勝するまでの軌跡
PHPでAIプログラミングコンテスト準優勝するまでの軌跡
CEDEC2021 ダウンロード時間を大幅減!~大量のアセットをさばく高速な実装と運用事例の共有~
CEDEC2021 ダウンロード時間を大幅減!~大量のアセットをさばく高速な実装と運用事例の共有~
ゲームエンジニアのためのデータベース設計
ゲームエンジニアのためのデータベース設計
Goのサーバサイド実装におけるレイヤ設計とレイヤ内実装について考える
Goのサーバサイド実装におけるレイヤ設計とレイヤ内実装について考える
読みやすいプログラム、書き換えやすいプログラム
読みやすいプログラム、書き換えやすいプログラム
サーバー未経験者がソーシャルゲームを通して知ったサーバーの事
サーバー未経験者がソーシャルゲームを通して知ったサーバーの事
リーダブルコードワークショップ(パイオニア向け) - 課題の実装の進め方
リーダブルコードワークショップ(パイオニア向け) - 課題の実装の進め方
今からでも遅くないC#開発
今からでも遅くないC#開発
ゲーム開発プロセスカイゼン
ゲーム開発プロセスカイゼン
第4部「Tddとペアプロのめざめ」
第4部「Tddとペアプロのめざめ」
WTM53 phpフレームワーク いまさらcodeigniter
WTM53 phpフレームワーク いまさらcodeigniter
Javaのログ出力: 道具と考え方
Javaのログ出力: 道具と考え方
2015-12-16 某S社、出直しDDDってるってよ
2015-12-16 某S社、出直しDDDってるってよ
トランザクションスクリプトのすすめ
トランザクションスクリプトのすすめ
C# コーディングガイドライン 2013/02/26
C# コーディングガイドライン 2013/02/26
Andere mochten auch
リーダブルコード勉強会 in 筑波大のまとめ
リーダブルコード勉強会 in 筑波大のまとめ
Kouhei Sutou
実践リーダブルコードの概要
実践リーダブルコードの概要
Kouhei Sutou
リーダブルコードが良書だったのでまとめました
リーダブルコードが良書だったのでまとめました
Takumi Sato
The art of readable code (ch1~ch4)
The art of readable code (ch1~ch4)
Ki Sung Bae
Writing Readable Code
Writing Readable Code
eddiehaber
The Art Of Readable Code.
The Art Of Readable Code.
Unyong (Sheldon) Choi
コーディングがラクになる!? “自分仕様”のさくさくコーディング法
コーディングがラクになる!? “自分仕様”のさくさくコーディング法
Rico Sengan
The Art Of Readable Code
The Art Of Readable Code
Baidu, Inc.
Introduction to Docker (and a bit more) at LSPE meetup Sunnyvale
Introduction to Docker (and a bit more) at LSPE meetup Sunnyvale
Jérôme Petazzoni
Programming camp code reading
Programming camp code reading
Hiro Yoshioka
Xp祭り2013
Xp祭り2013
Yoshihiro Furukawa
Apache ArrowのRubyバインディングをGObject Introspectionで
Apache ArrowのRubyバインディングをGObject Introspectionで
Kouhei Sutou
コーディング入門以前
コーディング入門以前
Yutaka Kinjyo
Javaコーディング勉強会
Javaコーディング勉強会
inatus
セキュアコーディング方法論再構築の試み
セキュアコーディング方法論再構築の試み
Hiroshi Tokumaru
機械学習を利用したちょっとリッチな検索
機械学習を利用したちょっとリッチな検索
nobu_k
コーディングが上達するコツ
コーディングが上達するコツ
evol-ni
Developers Summit 2014 【13-D-7】 コミュニティLT - Story 5. 「新人技術者にどうプログラミングを教えたか」
Developers Summit 2014 【13-D-7】 コミュニティLT - Story 5. 「新人技術者にどうプログラミングを教えたか」
Fujio Kojima
良質なコードを高速に書くコツ
良質なコードを高速に書くコツ
Shunji Konishi
オブジェクト指向やめましょう
オブジェクト指向やめましょう
なおき きしだ
Andere mochten auch
(20)
リーダブルコード勉強会 in 筑波大のまとめ
リーダブルコード勉強会 in 筑波大のまとめ
実践リーダブルコードの概要
実践リーダブルコードの概要
リーダブルコードが良書だったのでまとめました
リーダブルコードが良書だったのでまとめました
The art of readable code (ch1~ch4)
The art of readable code (ch1~ch4)
Writing Readable Code
Writing Readable Code
The Art Of Readable Code.
The Art Of Readable Code.
コーディングがラクになる!? “自分仕様”のさくさくコーディング法
コーディングがラクになる!? “自分仕様”のさくさくコーディング法
The Art Of Readable Code
The Art Of Readable Code
Introduction to Docker (and a bit more) at LSPE meetup Sunnyvale
Introduction to Docker (and a bit more) at LSPE meetup Sunnyvale
Programming camp code reading
Programming camp code reading
Xp祭り2013
Xp祭り2013
Apache ArrowのRubyバインディングをGObject Introspectionで
Apache ArrowのRubyバインディングをGObject Introspectionで
コーディング入門以前
コーディング入門以前
Javaコーディング勉強会
Javaコーディング勉強会
セキュアコーディング方法論再構築の試み
セキュアコーディング方法論再構築の試み
機械学習を利用したちょっとリッチな検索
機械学習を利用したちょっとリッチな検索
コーディングが上達するコツ
コーディングが上達するコツ
Developers Summit 2014 【13-D-7】 コミュニティLT - Story 5. 「新人技術者にどうプログラミングを教えたか」
Developers Summit 2014 【13-D-7】 コミュニティLT - Story 5. 「新人技術者にどうプログラミングを教えたか」
良質なコードを高速に書くコツ
良質なコードを高速に書くコツ
オブジェクト指向やめましょう
オブジェクト指向やめましょう
Ähnlich wie 名著『リーダブルコード - より良いコードを書くためのシンプルで実践的なテクニック』を解説者と一緒に読み解こう
よい名前を付けましょう リーダブルなんたらとか
よい名前を付けましょう リーダブルなんたらとか
よしだ あつし
初心者講習会資料(Osaka.R#7)
初心者講習会資料(Osaka.R#7)
Masahiro Hayashi
fastTextの実装を見てみた
fastTextの実装を見てみた
Yoshihiko Shiraki
SEゼミ2015 - リーダブルコード勉強会のグループふりかえり
SEゼミ2015 - リーダブルコード勉強会のグループふりかえり
Kouhei Sutou
リーダブルコード勉強会 in 筑波大のグループふりかえり
リーダブルコード勉強会 in 筑波大のグループふりかえり
Kouhei Sutou
SEゼミ2014 - リーダブルコード勉強会のアイスブレイク
SEゼミ2014 - リーダブルコード勉強会のアイスブレイク
Kouhei Sutou
PerlとSQLのいろいろ
PerlとSQLのいろいろ
Takuya Tsuchida
さくっとはじめるテキストマイニング(R言語) スタートアップ編
さくっとはじめるテキストマイニング(R言語) スタートアップ編
Yutaka Shimada
より良いコードを書くための名前付け
より良いコードを書くための名前付け
koji kobayashi
Data-Intensive Text Processing with MapReduce ch4
Data-Intensive Text Processing with MapReduce ch4
Sho Shimauchi
Sql learning
Sql learning
Sadayoshi Ikushima
脱コピペ!デザイナーにもわかるPHPとWP_Query
脱コピペ!デザイナーにもわかるPHPとWP_Query
Hidekazu Ishikawa
よろしい、ならばMicro-ORMだ
よろしい、ならばMicro-ORMだ
Narami Kiyokura
実践リーダブルコードのふりかえり
実践リーダブルコードのふりかえり
Kouhei Sutou
BlockSorting
BlockSorting
iuno
SQLアンチパターン(インデックスショットガン)
SQLアンチパターン(インデックスショットガン)
Tomoaki Uchida
分割と整合性と戦う
分割と整合性と戦う
Yugo Shimizu
Start!! Ruby
Start!! Ruby
mitim
Lv1から始めるWebサービスのインフラ構築
Lv1から始めるWebサービスのインフラ構築
伊藤 祐策
SEゼミ2014 - リーダブルコード勉強会のアイスブレイク
SEゼミ2014 - リーダブルコード勉強会のアイスブレイク
Kouhei Sutou
Ähnlich wie 名著『リーダブルコード - より良いコードを書くためのシンプルで実践的なテクニック』を解説者と一緒に読み解こう
(20)
よい名前を付けましょう リーダブルなんたらとか
よい名前を付けましょう リーダブルなんたらとか
初心者講習会資料(Osaka.R#7)
初心者講習会資料(Osaka.R#7)
fastTextの実装を見てみた
fastTextの実装を見てみた
SEゼミ2015 - リーダブルコード勉強会のグループふりかえり
SEゼミ2015 - リーダブルコード勉強会のグループふりかえり
リーダブルコード勉強会 in 筑波大のグループふりかえり
リーダブルコード勉強会 in 筑波大のグループふりかえり
SEゼミ2014 - リーダブルコード勉強会のアイスブレイク
SEゼミ2014 - リーダブルコード勉強会のアイスブレイク
PerlとSQLのいろいろ
PerlとSQLのいろいろ
さくっとはじめるテキストマイニング(R言語) スタートアップ編
さくっとはじめるテキストマイニング(R言語) スタートアップ編
より良いコードを書くための名前付け
より良いコードを書くための名前付け
Data-Intensive Text Processing with MapReduce ch4
Data-Intensive Text Processing with MapReduce ch4
Sql learning
Sql learning
脱コピペ!デザイナーにもわかるPHPとWP_Query
脱コピペ!デザイナーにもわかるPHPとWP_Query
よろしい、ならばMicro-ORMだ
よろしい、ならばMicro-ORMだ
実践リーダブルコードのふりかえり
実践リーダブルコードのふりかえり
BlockSorting
BlockSorting
SQLアンチパターン(インデックスショットガン)
SQLアンチパターン(インデックスショットガン)
分割と整合性と戦う
分割と整合性と戦う
Start!! Ruby
Start!! Ruby
Lv1から始めるWebサービスのインフラ構築
Lv1から始めるWebサービスのインフラ構築
SEゼミ2014 - リーダブルコード勉強会のアイスブレイク
SEゼミ2014 - リーダブルコード勉強会のアイスブレイク
Mehr von Kouhei Sutou
RubyKaigi 2022 - Fast data processing with Ruby and Apache Arrow
RubyKaigi 2022 - Fast data processing with Ruby and Apache Arrow
Kouhei Sutou
Apache Arrow Flight – ビッグデータ用高速データ転送フレームワーク #dbts2021
Apache Arrow Flight – ビッグデータ用高速データ転送フレームワーク #dbts2021
Kouhei Sutou
RubyKaigi Takeout 2021 - Red Arrow - Ruby and Apache Arrow
RubyKaigi Takeout 2021 - Red Arrow - Ruby and Apache Arrow
Kouhei Sutou
Rubyと仕事と自由なソフトウェア
Rubyと仕事と自由なソフトウェア
Kouhei Sutou
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 data
Kouhei Sutou
Apache Arrow 2019
Apache Arrow 2019
Kouhei Sutou
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 data
Kouhei Sutou
Better CSV processing with Ruby 2.6
Better CSV processing with Ruby 2.6
Kouhei Sutou
Apache Arrow
Apache Arrow
Kouhei Sutou
Apache Arrow - データ処理ツールの次世代プラットフォーム
Apache Arrow - データ処理ツールの次世代プラットフォーム
Kouhei Sutou
Apache Arrow
Apache Arrow
Kouhei Sutou
MySQL・PostgreSQLだけで作る高速あいまい全文検索システム
MySQL・PostgreSQLだけで作る高速あいまい全文検索システム
Kouhei Sutou
MySQL 8.0でMroonga
MySQL 8.0でMroonga
Kouhei Sutou
My way with Ruby
My way with Ruby
Kouhei Sutou
Red Data Tools
Red Data Tools
Kouhei Sutou
Mroongaの高速全文検索機能でWordPress内のコンテンツを有効活用!
Mroongaの高速全文検索機能でWordPress内のコンテンツを有効活用!
Kouhei Sutou
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!
Kouhei Sutou
Mehr von Kouhei Sutou
(20)
RubyKaigi 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 – ビッグデータ用高速データ転送フレームワーク #dbts2021
RubyKaigi Takeout 2021 - Red Arrow - Ruby and Apache Arrow
RubyKaigi Takeout 2021 - Red Arrow - Ruby and Apache Arrow
Rubyと仕事と自由なソフトウェア
Rubyと仕事と自由なソフトウェア
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 data
Apache Arrow 2019
Apache Arrow 2019
Redmine検索の未来像
Redmine検索の未来像
Apache 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.6
Apache Arrow
Apache Arrow
Apache Arrow - データ処理ツールの次世代プラットフォーム
Apache Arrow - データ処理ツールの次世代プラットフォーム
Apache Arrow
Apache Arrow
MySQL・PostgreSQLだけで作る高速あいまい全文検索システム
MySQL・PostgreSQLだけで作る高速あいまい全文検索システム
MySQL 8.0でMroonga
MySQL 8.0でMroonga
My way with Ruby
My way with Ruby
Red Data Tools
Red Data Tools
Mroongaの高速全文検索機能でWordPress内のコンテンツを有効活用!
Mroongaの高速全文検索機能でWordPress内のコンテンツを有効活用!
MariaDBとMroongaで作る全言語対応超高速全文検索システム
MariaDBとMroongaで作る全言語対応超高速全文検索システム
PGroonga 2 – Make PostgreSQL rich full text search system backend!
PGroonga 2 – Make PostgreSQL rich full text search system backend!
名著『リーダブルコード - より良いコードを書くためのシンプルで実践的なテクニック』を解説者と一緒に読み解こう
1.
リーダブルコードを 読み解こう 3章
誤解されない名前 須藤功平 株式会社クリアコード schoo 2014/12/9 リーダブルコードを読み解こう - 3章 誤解されない名前Powered by Rabbit 2.1.4
2.
質問(1) プログラミングについて ✓A:未経験
✓B:学習中(schooや学校、独学など) C:趣味・仕事でたまに書く (趣味でWebサイトを作っている、職業がデザイナーなど) ✓ D:趣味・仕事でバリバリ書く (趣味でOSSを開発している、職業がエンジニアなど) ✓ リーダブルコードを読み解こう - 3章 誤解されない名前Powered by Rabbit 2.1.4
3.
質問(2) リーダブルコード(本)を… ✓A:読んだ
✓B:読んでいる ✓C:まだ読んでいない リーダブルコードを読み解こう - 3章 誤解されない名前Powered by Rabbit 2.1.4
4.
内容 ✓自己紹介 ✓リーダブルコードとは
✓実例で考えよう ✓実際の改善にチャレンジ! ✓まとめ ✓質疑応答 リーダブルコードを読み解こう - 3章 誤解されない名前Powered by Rabbit 2.1.4
5.
自己紹介(1) リーダブルコードの 「解説」の著者
http://www.clear-code.com/blog/2012/6/11.html ✓ リーダブルコードを読み解こう - 3章 誤解されない名前Powered by Rabbit 2.1.4
6.
自己紹介(2) クリアコードの代表取締役 「クリア」な(意図が明確な)
「コード」を大事にする ソフトウェア開発会社 ✓ ✓ リーダブルコードを読み解こう - 3章 誤解されない名前Powered by Rabbit 2.1.4
7.
自己紹介(3) 毎日コードを書いている リーダブルコードを読み解こう
- 3章 誤解されない名前Powered by Rabbit 2.1.4
8.
リーダブルコードとは(1) 本書の目的は、君のコードを よくすることだ
[「はじめに p. x」より引用] リーダブルコードを読み解こう - 3章 誤解されない名前Powered by Rabbit 2.1.4
9.
リーダブルコードとは(2) その中心となるのは、コード は理解しやすくなければいけな
いという考えだ [「はじめに p. x」より引用] リーダブルコードを読み解こう - 3章 誤解されない名前Powered by Rabbit 2.1.4
10.
リーダブルコードとは(3) 「コードを理解する」という のは、変更を加えたりバグを見
つけたりできるという意味 [「1.2 読みやすさの基本定理 p. 3」より引用] リーダブルコードを読み解こう - 3章 誤解されない名前Powered by Rabbit 2.1.4
11.
リーダブルコード ✓変更できるコード ✓バグを見つけられるコード
↓ 読む人視点! リーダブルコードを読み解こう - 3章 誤解されない名前Powered by Rabbit 2.1.4
12.
何をしているコード? Node* node
= list->head; if (node == NULL) return; while (node->next != NULL) { Print(node->data); node = node->next; } if (node != NULL) Print(node->data); 「優れた」コードって何? p. 2より リーダブルコードを読み解こう - 3章 誤解されない名前Powered by Rabbit 2.1.4
13.
何をしているコード? for (Node*
node = list->head; node != NULL; node = node->next) Print(node->data); 「優れた」コードって何? p. 2より リーダブルコードを読み解こう - 3章 誤解されない名前Powered by Rabbit 2.1.4
14.
どちらがリーダブル? // どちらがリーダブルコード?どうして?
// リーダブルコード:変更できる・バグを見つけられるコード // A. Node* node = list->head; if (node == NULL) return; while (node->next != NULL) { Print(node->data); node = node->next; }i f (node != NULL) Print(node->data); // B. for (Node* node = list->head; node != NULL; node = node->next) Print(node->data); 「優れた」コードって何? p. 2より リーダブルコードを読み解こう - 3章 誤解されない名前Powered by Rabbit 2.1.4
15.
実例で考えよう 3章「誤解されない名前」 より
リーダブルコードを読み解こう - 3章 誤解されない名前Powered by Rabbit 2.1.4
16.
3.1 例:filter()(1) results
= Database.all_objects.filter("year <= 2011") resultsはなに? ✓2011年以前のレコード? ✓2012年以降のレコード? リーダブルコードを読み解こう - 3章 誤解されない名前Powered by Rabbit 2.1.4
17.
3.1 例:filter()(2) filterはあいまいな言葉
✓選択する→select() ✓除外する→exclude() ✓ select("year <= 2011") exclude("year <= 2011") リーダブルコードを読み解こう - 3章 誤解されない名前Powered by Rabbit 2.1.4
18.
番外1:sort()(1) どっちの名前がよい? ✓sort()
✓quick_sort()/merge_sort() ✓ リーダブルコードを読み解こう - 3章 誤解されない名前Powered by Rabbit 2.1.4
19.
番外1:sort()(2) ソートすることが重要 ✓sort()
✓ ソート方法が重要 ✓quick_sort()/merge_sort() ✓ ヒント:抽象化・カプセル化 (abstraction barrier, abstraction layer) リーダブルコードを読み解こう - 3章 誤解されない名前Powered by Rabbit 2.1.4
20.
3.2 例:Clip()(1) #
textの最後を切り落として、 # 「...」をつける def Clip(text, length): ✓最後からlength文字を削除する? ✓最大length文字まで切り詰める? リーダブルコードを読み解こう - 3章 誤解されない名前Powered by Rabbit 2.1.4
21.
3.2 例:Clip()(2) 切り詰めるなら:Clip→Truncate
def Clip(text, length): # ↓ def Truncate(text, length): リーダブルコードを読み解こう - 3章 誤解されない名前Powered by Rabbit 2.1.4
22.
3.2 例:Clip()(3) 最大length文字なら:maxをつける
def Truncate(text, length): # ↓ def Truncate(text, max_length): リーダブルコードを読み解こう - 3章 誤解されない名前Powered by Rabbit 2.1.4
23.
3.2 例:Clip()(4) 最大length文字なら:
length→chars def Truncate(text, max_length): # ↓ def Truncate(text, max_chars): リーダブルコードを読み解こう - 3章 誤解されない名前Powered by Rabbit 2.1.4
24.
番外2:add()(1) どの名前がよい? ✓add()
✓append()/prepend() ✓ リーダブルコードを読み解こう - 3章 誤解されない名前Powered by Rabbit 2.1.4
25.
番外2:add()(2) 追加することが重要 例:集合に追加するとき
✓add() ✓ 追加する場所が重要 例:リストに追加するとき ✓append()/prepend() ✓ ヒント:抽象化・カプセル化 (abstraction barrier, abstraction layer) リーダブルコードを読み解こう - 3章 誤解されない名前Powered by Rabbit 2.1.4
26.
3.3 限界値(1) ショッピングカートに入る商品が
最大10点のケース CART_TOO_BIG_LIMIT = 10 if cart.num_items() >= CART_TOO_BIG_LIMIT: Error("カートにある商品数が多すぎます。") リーダブルコードを読み解こう - 3章 誤解されない名前Powered by Rabbit 2.1.4
27.
3.3 限界値(2) バグあり!
9点までしか入らない CART_TOO_BIG_LIMIT = 10 if cart.num_items() >= CART_TOO_BIG_LIMIT: Error("カートにある商品数が多すぎます。") リーダブルコードを読み解こう - 3章 誤解されない名前Powered by Rabbit 2.1.4
28.
3.3 限界値(3) CART_TOO_BIG_LIMITはあいまい
✓未満?以下?→境界値の情報がない ✓ MAX_ITEMS_IN_CARTは明確 ✓この値が最大値(境界値を含む) 最大値のときはmaxを使おう! (最小値のときはmin) ✓ ✓ リーダブルコードを読み解こう - 3章 誤解されない名前Powered by Rabbit 2.1.4
29.
3.3 限界値(4) #
CART_TOO_BIG_LIMIT = 10 # if cart.num_items() >= CART_TOO_BIG_LIMIT: # Error("カートにある商品数が多すぎます。") MAX_ITEMS_IN_CART = 10 if cart.num_items() > MAX_ITEMS_IN_CART: Error("カートにある商品数が多すぎます。") リーダブルコードを読み解こう - 3章 誤解されない名前Powered by Rabbit 2.1.4
30.
他の例 範囲を指定するときは firstとlastを使う
✓ 包含/排他的範囲には beginとendを使う ✓ ✓… ✓(詳細は本を買ってください) リーダブルコードを読み解こう - 3章 誤解されない名前Powered by Rabbit 2.1.4
31.
実際の改善にチャレンジ! /* schooの学生名一覧を返す
引数は返す学生名の最大値 */ function student($num) { /* 処理の具体的な内容 */ } ✓誤解されない名前に改善して投稿 ✓よい投稿に「いいね!」して応援 リーダブルコードを読み解こう - 3章 誤解されない名前Powered by Rabbit 2.1.4
32.
まとめ(1) リーダブルコードとは ✓変更できるコード
✓バグを見つけられるコード ✓↑は読む人視点 ✓ リーダブルコードを読み解こう - 3章 誤解されない名前Powered by Rabbit 2.1.4
33.
まとめ(2) 「誤解されない名前」を考えた filterはあいまい
✓ ✓→select/exclude Clipもあいまい ✓→Truncate ✓ TOO_BIG_LIMITもあいまい ✓→MAX_ITEMS_IN_CART ✓ ✓ リーダブルコードを読み解こう - 3章 誤解されない名前Powered by Rabbit 2.1.4
34.
まとめ(3) 実際の改善にチャレンジした 「読む人が理解しやすいか?」を
とことん考えたはず ✓ ✓ 名前が「他の意味と間違えら れることはないだろうか?」と 何度も自問自答する [「3章 誤解されない名前 p. 30」より引用] リーダブルコードを読み解こう - 3章 誤解されない名前Powered by Rabbit 2.1.4
35.
これから(1) これからも読む人のことを 考えてコードを書こう
✓ 読む人のことを考えるには? ✓読む経験をたくさん積む ✓たくさんコードを読もう ✓ リーダブルコードを読み解こう - 3章 誤解されない名前Powered by Rabbit 2.1.4
36.
これから(2) たくさんコードを読むコツ ✓コードから学ぶ気持ちで読む
✓×悪いこと探し ✓○いいこと探し 本来、コードを読むことは 楽しいことのはず! ✓ ✓ リーダブルコードを読み解こう - 3章 誤解されない名前Powered by Rabbit 2.1.4
37.
悪いコード 見つけやすい ✓異質
✓リーダブルじゃない ✓ 過剰に指摘したくなる ✓「マサカリを投げてみたい」 ✓ リーダブルコードを読み解こう - 3章 誤解されない名前Powered by Rabbit 2.1.4
38.
マサカリ投げたい症候群 早めに卒業しましょう 必要十分な事実伝達以外の
否定的な情報を過剰に含む指摘 必要十分な事実伝達がない場合もある 必要十分な事実伝達: ○○な理由で××ではなく△△だ 本に書いているから、は理由になっていない ✓ ✓ ↑は最近の「マサカリを投げる」の捉えられ方 参考:元々のモヒカン・手斧の使われ方: http://www.otsune.com/diary/2005/06/14/4.html#200506144 リーダブルコードを読み解こう - 3章 誤解されない名前Powered by Rabbit 2.1.4
39.
よいコード 見つけにくい ✓リーダブルだから
✓すーっと理解できてひっかからない ✓ これからのチャレンジ ✓意識して見つけよう! ✓ リーダブルコードを読み解こう - 3章 誤解されない名前Powered by Rabbit 2.1.4
40.
これから(3) 「解説」を読む http://www.clear-code.com/blog/2012/6/11.html
本文:個人で リーダブルコードを書く方法 ✓ 解説:チームで リーダブルコードを書く方法 ✓ リーダブルコードを読み解こう - 3章 誤解されない名前Powered by Rabbit 2.1.4
Jetzt herunterladen