rabbit-slide-kou-devmi-2013 2013.3.2.0
Sign up to get free protection for your applications and to get access to all the features.
- data/.rabbit +1 -0
- data/README.rd +37 -0
- data/Rakefile +21 -0
- data/can-developer-write-readable-code.rab +230 -0
- data/config.yaml +22 -0
- data/pdf/devmi-2013-can-developer-write-readable-code.pdf +0 -0
- metadata +84 -0
data/.rabbit
ADDED
@@ -0,0 +1 @@
|
|
1
|
+
can-developer-write-readable-code.rab
|
data/README.rd
ADDED
@@ -0,0 +1,37 @@
|
|
1
|
+
= 開発者は仕事でリーダブルなコードを書けるのか?
|
2
|
+
|
3
|
+
ビジネスアプリケーションにおいても高速/堅牢な、保守性の高いプログラミングが求められています。
|
4
|
+
|
5
|
+
去年は「リーダブルなコード」に注目が集まりましたが、具体的に開発者へどんなメリットをもたらすのでしょうか?また、「リーダブルなコード」のコンセプトや手法は現場へ導入可能なのでしょうか?
|
6
|
+
|
7
|
+
本セッションでは、リーダブルなコードの概要を紹介した上で開発者にとってのメリットと現場導入について考察します。
|
8
|
+
|
9
|
+
== ライセンス
|
10
|
+
|
11
|
+
CC BY-SA 3.0
|
12
|
+
|
13
|
+
原著作者のクレジットの表記は以下のいずれかを使ってください。
|
14
|
+
|
15
|
+
* 須藤功平
|
16
|
+
* Kouhei Sutou
|
17
|
+
|
18
|
+
== 作者向け
|
19
|
+
|
20
|
+
=== 表示
|
21
|
+
|
22
|
+
rake
|
23
|
+
|
24
|
+
=== 公開
|
25
|
+
|
26
|
+
rake publish
|
27
|
+
|
28
|
+
== 閲覧者向け
|
29
|
+
|
30
|
+
=== インストール
|
31
|
+
|
32
|
+
gem install rabbit-slide-kou-devmi-2013
|
33
|
+
|
34
|
+
=== 表示
|
35
|
+
|
36
|
+
rabbit rabbit-slide-kou-devmi-2013.gem
|
37
|
+
|
data/Rakefile
ADDED
@@ -0,0 +1,21 @@
|
|
1
|
+
# Copyright (C) 2013 Kouhei Sutou <kou@clear-code.com>
|
2
|
+
#
|
3
|
+
# License: CC BY-SA 3.0
|
4
|
+
|
5
|
+
require "rabbit/task/slide"
|
6
|
+
|
7
|
+
# Edit ./config.yaml to customize meta data
|
8
|
+
|
9
|
+
spec = nil
|
10
|
+
Rabbit::Task::Slide.new do |task|
|
11
|
+
spec = task.spec
|
12
|
+
# spec.files += Dir.glob("doc/**/*.*")
|
13
|
+
# spec.files -= Dir.glob("private/**/*.*")
|
14
|
+
spec.add_runtime_dependency("rabbit-theme-clear-code")
|
15
|
+
end
|
16
|
+
|
17
|
+
desc "Tag #{spec.version}"
|
18
|
+
task :tag do
|
19
|
+
sh("git", "tag", "-a", spec.version.to_s, "-m", "Publish #{spec.version}")
|
20
|
+
sh("git", "push", "--tags")
|
21
|
+
end
|
@@ -0,0 +1,230 @@
|
|
1
|
+
= 開発者は仕事で\nリーダブルなコードを\n書けるのか?
|
2
|
+
|
3
|
+
: author
|
4
|
+
須藤功平
|
5
|
+
: institution
|
6
|
+
株式会社クリアコード
|
7
|
+
: content-source
|
8
|
+
Developer Migration 2013
|
9
|
+
: date
|
10
|
+
2013/03/02
|
11
|
+
: allotted-time
|
12
|
+
40m
|
13
|
+
: theme
|
14
|
+
clear-code
|
15
|
+
|
16
|
+
= 対象
|
17
|
+
|
18
|
+
開発者
|
19
|
+
|
20
|
+
= リーダブルなコード?
|
21
|
+
|
22
|
+
読みやすい\nコード
|
23
|
+
|
24
|
+
= 読みやすいコード
|
25
|
+
|
26
|
+
* わかりやすい
|
27
|
+
* 直しやすい
|
28
|
+
* 調べやすい
|
29
|
+
* 試しやすい
|
30
|
+
|
31
|
+
= ((' '))
|
32
|
+
|
33
|
+
で?
|
34
|
+
|
35
|
+
= ((' '))
|
36
|
+
|
37
|
+
リーダブルな\n
|
38
|
+
コードって\n
|
39
|
+
うれしいの?
|
40
|
+
|
41
|
+
= 開発者として
|
42
|
+
|
43
|
+
ストレスが減る\n
|
44
|
+
(('(1)'))
|
45
|
+
|
46
|
+
= ストレス
|
47
|
+
|
48
|
+
なにしてるか\n
|
49
|
+
全然わからないんだけど!
|
50
|
+
|
51
|
+
= ストレス
|
52
|
+
|
53
|
+
なにしたいか\n
|
54
|
+
全然わからないんだけど!
|
55
|
+
|
56
|
+
= 開発者として
|
57
|
+
|
58
|
+
楽しい\n
|
59
|
+
(('(2)'))
|
60
|
+
|
61
|
+
= 楽しい
|
62
|
+
|
63
|
+
すぐに\n
|
64
|
+
対応できる
|
65
|
+
|
66
|
+
= すぐに対応
|
67
|
+
|
68
|
+
* こういうのが欲しいんだけど
|
69
|
+
* あ、ちょっと待ってください。
|
70
|
+
* こんな感じですか?
|
71
|
+
* →そう!こういうの!
|
72
|
+
* →あぁ、こうなるのかぁ。\n
|
73
|
+
じゃあ、なしで!
|
74
|
+
|
75
|
+
= すぐに対応
|
76
|
+
|
77
|
+
オレってば\n
|
78
|
+
スゲー感\n
|
79
|
+
(('note:http://kitaj.no-ip.com/tdiary/20040404.html#p05'))
|
80
|
+
|
81
|
+
= オレってばスゲー感を
|
82
|
+
|
83
|
+
* 他の人のコードで、じゃなく
|
84
|
+
* 自分たちのコードで!
|
85
|
+
|
86
|
+
= 作らないのがいい?
|
87
|
+
|
88
|
+
* 本当に必要?検討しましょう!
|
89
|
+
* 必要?本当に?本当に?
|
90
|
+
* 考えている間に試したら?
|
91
|
+
* コードを書かない事が目指す事?
|
92
|
+
* 必要ないものに時間をかけない事\n
|
93
|
+
じゃない?
|
94
|
+
|
95
|
+
= コストが下がれば試せる
|
96
|
+
|
97
|
+
= コストが下がる
|
98
|
+
|
99
|
+
* 実物 → ディジタル
|
100
|
+
* コピーのコストが小さい
|
101
|
+
* 実サーバー → 仮想マシン
|
102
|
+
* 増減のコストが小さい
|
103
|
+
|
104
|
+
= 試せる
|
105
|
+
|
106
|
+
* 実物 → ディジタル
|
107
|
+
* TODO: 何か例を
|
108
|
+
* 実サーバー → 仮想マシン
|
109
|
+
* どのくらいあらかじめ用意する? →
|
110
|
+
いつどうやって増減させる?
|
111
|
+
|
112
|
+
= コード\nだって\n同じ
|
113
|
+
|
114
|
+
= リーダブルなコードなら
|
115
|
+
|
116
|
+
素早く\n
|
117
|
+
対応できる
|
118
|
+
|
119
|
+
= 素早い対応
|
120
|
+
|
121
|
+
# blockquote
|
122
|
+
うわぁ!\n
|
123
|
+
こんなに素早く対応して\nもらえるなんて!\n
|
124
|
+
ありがとう!
|
125
|
+
|
126
|
+
= 素早くない対応
|
127
|
+
|
128
|
+
* このくらいで終わりそう
|
129
|
+
* でも、なんかあったらイヤだなぁ
|
130
|
+
* バッファで2倍かかることにしよう
|
131
|
+
* 困ったらすぐ相談じゃダメ?
|
132
|
+
* 全体でよくなるように進めないの?
|
133
|
+
|
134
|
+
= 信用
|
135
|
+
|
136
|
+
# blockquote
|
137
|
+
いつも素早く対応してくれる人が時間がかかるっていうんだから大変なんだ
|
138
|
+
ろう。
|
139
|
+
|
140
|
+
= 開発者は\n仕事で\nリーダブルな\nコードを\n書けるのか?
|
141
|
+
|
142
|
+
= ムリ?\n((' '))
|
143
|
+
|
144
|
+
= コードレビュー
|
145
|
+
|
146
|
+
# blockquote
|
147
|
+
リーダブルなコードにするためにコードレビューっていうのを導入したいけ
|
148
|
+
ど他の人が読んでくれないからできない。
|
149
|
+
|
150
|
+
= 答え
|
151
|
+
|
152
|
+
# blockquote
|
153
|
+
まず、\nあなたが読んでみませんか?
|
154
|
+
|
155
|
+
= 時間がない
|
156
|
+
|
157
|
+
# blockquote
|
158
|
+
自分は他の人のコードを読んでいる時間ないし…
|
159
|
+
|
160
|
+
= 答え
|
161
|
+
|
162
|
+
# blockquote
|
163
|
+
時間を決めて読んでみませんか?
|
164
|
+
|
165
|
+
ペースがわかったらどうやって取り組んでいけばよいかアイディアが浮かぶ
|
166
|
+
と思いますよ。
|
167
|
+
|
168
|
+
= でも
|
169
|
+
|
170
|
+
# blockquote
|
171
|
+
でも、でも、でも…
|
172
|
+
|
173
|
+
= コミットへの\nコメントサービス
|
174
|
+
|
175
|
+
# blockquote
|
176
|
+
クリアコードは、よいコードを書くことを当たり前にするためには、まず
|
177
|
+
「みんながみんなのコードを読む」文化にすることからはじめるのがよいと
|
178
|
+
考えます。
|
179
|
+
|
180
|
+
(('tag:center'))(('note:http://www.clear-code.com/services/commit-comment.html'))
|
181
|
+
|
182
|
+
= なんで読むの?
|
183
|
+
|
184
|
+
* 読まないと\n
|
185
|
+
読みやすいコードは書けない
|
186
|
+
* 読む人を想像しろなんてムリ
|
187
|
+
* 自分が読む人になる
|
188
|
+
|
189
|
+
= あなたが読む事を支援
|
190
|
+
|
191
|
+
* どうやって読むの?
|
192
|
+
* よいところを学ぶ
|
193
|
+
* 悪いところ探しではない!
|
194
|
+
* どういうタイミングで?
|
195
|
+
* pushとかcommitした後
|
196
|
+
* 一区切り付いているでしょ?
|
197
|
+
|
198
|
+
= みんなが読む事を支援
|
199
|
+
|
200
|
+
* こうすると読みやすいですよ
|
201
|
+
* 読みにくいコードばかりだと\n
|
202
|
+
続けられない
|
203
|
+
* よいコードを見た!→\n
|
204
|
+
真似してコミット
|
205
|
+
* いいね!しているだけじゃない
|
206
|
+
* 行動しているからより本物
|
207
|
+
|
208
|
+
= コミットコミュニケーション
|
209
|
+
|
210
|
+
* 他の人が何をしているかわかる
|
211
|
+
* あの人はあそこらへん詳しそう
|
212
|
+
* 相談してみよう
|
213
|
+
* 他の人が困っていないかわかる
|
214
|
+
* この一時間ひとつもコミットしていないけど大丈夫?
|
215
|
+
* このコミットすごいごちゃごちゃしてるけど悩んでる?
|
216
|
+
|
217
|
+
= 毎日↓をコミット
|
218
|
+
|
219
|
+
* 今日どれくらい読めたか
|
220
|
+
* 感覚で。70%とか。
|
221
|
+
* 今日印象に残ったコミット
|
222
|
+
* メモリリーク直った!
|
223
|
+
* 今日の一言感想
|
224
|
+
* 自分のコミットが真似されていた!
|
225
|
+
|
226
|
+
= さいごに
|
227
|
+
|
228
|
+
* リーダブルなコードが大事そうな気がしましたか?
|
229
|
+
* 仕事でリーダブルなコードを書けそうですか?
|
230
|
+
* 支援があれば書けそうですか?
|
data/config.yaml
ADDED
@@ -0,0 +1,22 @@
|
|
1
|
+
---
|
2
|
+
id: devmi-2013
|
3
|
+
base_name: can-developer-write-readable-code
|
4
|
+
tags:
|
5
|
+
- rabbit
|
6
|
+
- readablecode
|
7
|
+
- devmi
|
8
|
+
presentation_date: 2013/03/02
|
9
|
+
version: 2013.3.2.0
|
10
|
+
licenses:
|
11
|
+
- CC BY-SA 3.0
|
12
|
+
slideshare_id:
|
13
|
+
speaker_deck_id:
|
14
|
+
ustream_id:
|
15
|
+
vimeo_id:
|
16
|
+
author:
|
17
|
+
markup_language: :rd
|
18
|
+
name: 須藤功平
|
19
|
+
email: kou@clear-code.com
|
20
|
+
rubygems_user: kou
|
21
|
+
slideshare_user: kou
|
22
|
+
speaker_deck_user: kou
|
Binary file
|
metadata
ADDED
@@ -0,0 +1,84 @@
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
|
+
name: rabbit-slide-kou-devmi-2013
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 2013.3.2.0
|
5
|
+
prerelease:
|
6
|
+
platform: ruby
|
7
|
+
authors:
|
8
|
+
- 須藤功平
|
9
|
+
autorequire:
|
10
|
+
bindir: bin
|
11
|
+
cert_chain: []
|
12
|
+
date: 2013-02-21 00:00:00.000000000 Z
|
13
|
+
dependencies:
|
14
|
+
- !ruby/object:Gem::Dependency
|
15
|
+
name: rabbit
|
16
|
+
requirement: !ruby/object:Gem::Requirement
|
17
|
+
none: false
|
18
|
+
requirements:
|
19
|
+
- - ! '>='
|
20
|
+
- !ruby/object:Gem::Version
|
21
|
+
version: 2.0.2
|
22
|
+
type: :runtime
|
23
|
+
prerelease: false
|
24
|
+
version_requirements: !ruby/object:Gem::Requirement
|
25
|
+
none: false
|
26
|
+
requirements:
|
27
|
+
- - ! '>='
|
28
|
+
- !ruby/object:Gem::Version
|
29
|
+
version: 2.0.2
|
30
|
+
- !ruby/object:Gem::Dependency
|
31
|
+
name: rabbit-theme-clear-code
|
32
|
+
requirement: !ruby/object:Gem::Requirement
|
33
|
+
none: false
|
34
|
+
requirements:
|
35
|
+
- - ! '>='
|
36
|
+
- !ruby/object:Gem::Version
|
37
|
+
version: '0'
|
38
|
+
type: :runtime
|
39
|
+
prerelease: false
|
40
|
+
version_requirements: !ruby/object:Gem::Requirement
|
41
|
+
none: false
|
42
|
+
requirements:
|
43
|
+
- - ! '>='
|
44
|
+
- !ruby/object:Gem::Version
|
45
|
+
version: '0'
|
46
|
+
description: ビジネスアプリケーションにおいても高速/堅牢な、保守性の高いプログラミングが求められています。
|
47
|
+
email:
|
48
|
+
- kou@clear-code.com
|
49
|
+
executables: []
|
50
|
+
extensions: []
|
51
|
+
extra_rdoc_files: []
|
52
|
+
files:
|
53
|
+
- .rabbit
|
54
|
+
- config.yaml
|
55
|
+
- Rakefile
|
56
|
+
- README.rd
|
57
|
+
- can-developer-write-readable-code.rab
|
58
|
+
- pdf/devmi-2013-can-developer-write-readable-code.pdf
|
59
|
+
homepage: http://slide.rabbit-shocker.org/authors/kou/devmi-2013/
|
60
|
+
licenses:
|
61
|
+
- CC BY-SA 3.0
|
62
|
+
post_install_message:
|
63
|
+
rdoc_options: []
|
64
|
+
require_paths:
|
65
|
+
- lib
|
66
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
67
|
+
none: false
|
68
|
+
requirements:
|
69
|
+
- - ! '>='
|
70
|
+
- !ruby/object:Gem::Version
|
71
|
+
version: '0'
|
72
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
73
|
+
none: false
|
74
|
+
requirements:
|
75
|
+
- - ! '>='
|
76
|
+
- !ruby/object:Gem::Version
|
77
|
+
version: '0'
|
78
|
+
requirements: []
|
79
|
+
rubyforge_project:
|
80
|
+
rubygems_version: 1.8.23
|
81
|
+
signing_key:
|
82
|
+
specification_version: 3
|
83
|
+
summary: 開発者は仕事でリーダブルなコードを書けるのか?
|
84
|
+
test_files: []
|