rabbit-slide-kou-schoo-readable-code-2014-12 2014.12.9.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +7 -0
- data/.rabbit +1 -0
- data/README.rd +32 -0
- data/Rakefile +17 -0
- data/chapter-3.rab +316 -0
- data/config.yaml +23 -0
- data/images/github-kou-with-annotation.svg +88 -0
- data/images/github-kou.png +0 -0
- data/pdf/schoo-readable-code-2014-12-chapter-3.pdf +0 -0
- metadata +80 -0
checksums.yaml
ADDED
@@ -0,0 +1,7 @@
|
|
1
|
+
---
|
2
|
+
SHA1:
|
3
|
+
metadata.gz: ef138a2efa333bae81b5af0da93222988f23e601
|
4
|
+
data.tar.gz: 88e3eff5a8959b737fb4a5a8920816709dec1c85
|
5
|
+
SHA512:
|
6
|
+
metadata.gz: 1a410b288981d8ece57cc84e3ff2d5cc53a46b0d0cb5b8441eee2505a0c56ef59f90d3a8e7b83de338f068aafe357d7f0358c90947981eeed725d5b98fd709b1
|
7
|
+
data.tar.gz: 08a1f6cd7202825ed273d664cace41f6eda25f55e6654a3daafe6accf47bd48c2d175ba9c67e0ec4d22ae378a2b766ec02856e9c93bcf829636a041362e4ad61
|
data/.rabbit
ADDED
@@ -0,0 +1 @@
|
|
1
|
+
chapter-3.rab
|
data/README.rd
ADDED
@@ -0,0 +1,32 @@
|
|
1
|
+
= 名著『リーダブルコード - より良いコードを書くためのシンプルで実践的なテクニック』を解説者と一緒に読み解こう
|
2
|
+
|
3
|
+
2014年12月9日(火)21:00-22:00に実施する授業の資料です。今回は「3章 誤解されない名前」を読みながら、よい名前のつけ方について学びます。
|
4
|
+
|
5
|
+
== ライセンス
|
6
|
+
|
7
|
+
CC BY-SA 4.0
|
8
|
+
|
9
|
+
原著作者名は以下の通りです。
|
10
|
+
|
11
|
+
* 須藤功平(またはKouhei Sutou)
|
12
|
+
|
13
|
+
== 作者向け
|
14
|
+
|
15
|
+
=== 表示
|
16
|
+
|
17
|
+
rake
|
18
|
+
|
19
|
+
=== 公開
|
20
|
+
|
21
|
+
rake publish
|
22
|
+
|
23
|
+
== 閲覧者向け
|
24
|
+
|
25
|
+
=== インストール
|
26
|
+
|
27
|
+
gem install rabbit-slide-kou-schoo-readable-code-2014-12
|
28
|
+
|
29
|
+
=== 表示
|
30
|
+
|
31
|
+
rabbit rabbit-slide-kou-schoo-readable-code-2014-12.gem
|
32
|
+
|
data/Rakefile
ADDED
@@ -0,0 +1,17 @@
|
|
1
|
+
require "rabbit/task/slide"
|
2
|
+
|
3
|
+
# Edit ./config.yaml to customize meta data
|
4
|
+
|
5
|
+
spec = nil
|
6
|
+
Rabbit::Task::Slide.new do |task|
|
7
|
+
spec = task.spec
|
8
|
+
# task.spec.files += Dir.glob("doc/**/*.*")
|
9
|
+
# task.spec.files -= Dir.glob("private/**/*.*")
|
10
|
+
task.spec.add_runtime_dependency("rabbit-theme-clear-code")
|
11
|
+
end
|
12
|
+
|
13
|
+
desc "Tag #{spec.version}"
|
14
|
+
task :tag do
|
15
|
+
sh("git", "tag", "-a", spec.version.to_s, "-m", "Publish #{spec.version}")
|
16
|
+
sh("git", "push", "--tags")
|
17
|
+
end
|
data/chapter-3.rab
ADDED
@@ -0,0 +1,316 @@
|
|
1
|
+
= リーダブルコードを\n読み解こう
|
2
|
+
|
3
|
+
: subtitle
|
4
|
+
3章 誤解されない名前
|
5
|
+
: author
|
6
|
+
須藤功平
|
7
|
+
: institution
|
8
|
+
株式会社クリアコード
|
9
|
+
: content-source
|
10
|
+
schoo
|
11
|
+
: date
|
12
|
+
2014/12/9
|
13
|
+
: allotted-time
|
14
|
+
60m
|
15
|
+
: theme
|
16
|
+
clear-code
|
17
|
+
|
18
|
+
= 内容
|
19
|
+
|
20
|
+
* 自己紹介
|
21
|
+
* リーダブルコードとは
|
22
|
+
* 実例で考えよう
|
23
|
+
* 実際の改善にチャレンジ!
|
24
|
+
* まとめ
|
25
|
+
* 質疑応答
|
26
|
+
|
27
|
+
= 自己紹介(1)
|
28
|
+
|
29
|
+
* リーダブルコードの\n
|
30
|
+
「解説」の著者\n
|
31
|
+
(('note:http://www.clear-code.com/blog/2012/6/11.html'))
|
32
|
+
|
33
|
+
= 自己紹介(2)
|
34
|
+
|
35
|
+
* クリアコードの代表取締役
|
36
|
+
* 「クリア」な(意図が明確な)\n
|
37
|
+
「コード」を大事にする\n
|
38
|
+
ソフトウェア開発会社
|
39
|
+
|
40
|
+
= 自己紹介(3)
|
41
|
+
|
42
|
+
# image
|
43
|
+
# src = images/github-kou-with-annotation.svg
|
44
|
+
# relative_height = 100
|
45
|
+
|
46
|
+
== スライドプロパティー
|
47
|
+
|
48
|
+
: enable-title-on-image
|
49
|
+
false
|
50
|
+
|
51
|
+
= リーダブルコードとは(1)
|
52
|
+
|
53
|
+
# blockquote
|
54
|
+
# title = はじめに p. x
|
55
|
+
|
56
|
+
本書の目的は、君のコードをよくすることだ
|
57
|
+
|
58
|
+
= リーダブルコードとは(2)
|
59
|
+
|
60
|
+
# blockquote
|
61
|
+
# title = はじめに p. x
|
62
|
+
|
63
|
+
その中心となるのは、コードは理解しやすくなければいけないという考えだ
|
64
|
+
|
65
|
+
= リーダブルコードとは(3)
|
66
|
+
|
67
|
+
# blockquote
|
68
|
+
# title = 1.2 読みやすさの基本定理 p. 3
|
69
|
+
|
70
|
+
「コードを理解する」というのは、変更を加えたりバグを見つけたりできるという意味
|
71
|
+
|
72
|
+
= リーダブルコード
|
73
|
+
|
74
|
+
* 変更できるコード
|
75
|
+
* バグを見つけられるコード
|
76
|
+
|
77
|
+
(('tag:center'))(('tag:x-large'))
|
78
|
+
↓\n
|
79
|
+
読む人視点!
|
80
|
+
|
81
|
+
= 何をしているコード?
|
82
|
+
|
83
|
+
# coderay cpp
|
84
|
+
|
85
|
+
Node* node = list->head;
|
86
|
+
if (node == NULL) return;
|
87
|
+
|
88
|
+
while (node->next != NULL) {
|
89
|
+
Print(node->data);
|
90
|
+
node = node->next;
|
91
|
+
}
|
92
|
+
if (node != NULL) Print(node->data);
|
93
|
+
|
94
|
+
(('tag:center'))(('note:「優れた」コードって何? p. 2より'))
|
95
|
+
|
96
|
+
= 何をしているコード?
|
97
|
+
|
98
|
+
# coderay cpp
|
99
|
+
|
100
|
+
for (Node* node = list->head;
|
101
|
+
node != NULL;
|
102
|
+
node = node->next)
|
103
|
+
Print(node->data);
|
104
|
+
|
105
|
+
(('tag:center'))(('note:「優れた」コードって何? p. 2より'))
|
106
|
+
|
107
|
+
= どちらがリーダブル?
|
108
|
+
|
109
|
+
# coderay cpp
|
110
|
+
|
111
|
+
// どちらがリーダブルコード?どうして?
|
112
|
+
// リーダブルコード:変更できる・バグを見つけられるコード
|
113
|
+
// A.
|
114
|
+
Node* node = list->head;
|
115
|
+
if (node == NULL) return;
|
116
|
+
while (node->next != NULL) {
|
117
|
+
Print(node->data);
|
118
|
+
node = node->next;
|
119
|
+
}
|
120
|
+
if (node != NULL) Print(node->data);
|
121
|
+
// B.
|
122
|
+
for (Node* node = list->head; node != NULL; node = node->next)
|
123
|
+
Print(node->data);
|
124
|
+
|
125
|
+
(('tag:center'))(('note:「優れた」コードって何? p. 2より'))
|
126
|
+
|
127
|
+
= 実例で考えよう
|
128
|
+
|
129
|
+
(('tag:center'))(('tag:large'))
|
130
|
+
3章「誤解されない名前」\n
|
131
|
+
より
|
132
|
+
|
133
|
+
((' '))
|
134
|
+
|
135
|
+
= 3.1 例:filter()(1)
|
136
|
+
|
137
|
+
# coderay python
|
138
|
+
|
139
|
+
results =
|
140
|
+
Database.all_objects.filter("year <= 2011")
|
141
|
+
|
142
|
+
(({results}))はなに?
|
143
|
+
|
144
|
+
* 2011年以前のレコード?
|
145
|
+
* 2012年以降のレコード?
|
146
|
+
|
147
|
+
= 3.1 例:filter()(2)
|
148
|
+
|
149
|
+
* filterはあいまいな言葉
|
150
|
+
* 選択する→(({select()}))
|
151
|
+
* 除外する→(({exclude()}))
|
152
|
+
|
153
|
+
select("year <= 2011")
|
154
|
+
exclude("year <= 2011")
|
155
|
+
|
156
|
+
= 3.2 例:Clip()(1)
|
157
|
+
|
158
|
+
# coderay python
|
159
|
+
|
160
|
+
# textの最後を切り落として、
|
161
|
+
# 「...」をつける
|
162
|
+
def Clip(text, length):
|
163
|
+
|
164
|
+
* 最後から(({length}))文字を削除する?
|
165
|
+
* 最大(({length}))文字まで切り詰める?
|
166
|
+
|
167
|
+
= 3.2 例:Clip()(2)
|
168
|
+
|
169
|
+
切り詰めるなら:(({Clip}))→(({Truncate}))
|
170
|
+
|
171
|
+
# coderay python
|
172
|
+
|
173
|
+
def Clip(text, length):
|
174
|
+
# ↓
|
175
|
+
def Truncate(text, length):
|
176
|
+
|
177
|
+
= 3.2 例:Clip()(3)
|
178
|
+
|
179
|
+
((*最大*))(({length}))文字なら:(({max}))をつける
|
180
|
+
|
181
|
+
# coderay python
|
182
|
+
|
183
|
+
def Truncate(text, length):
|
184
|
+
# ↓
|
185
|
+
def Truncate(text, max_length):
|
186
|
+
|
187
|
+
= 3.2 例:Clip()(4)
|
188
|
+
|
189
|
+
最大(({length}))((*文字*))なら:\n
|
190
|
+
(({length}))→(({chars}))
|
191
|
+
|
192
|
+
# coderay python
|
193
|
+
|
194
|
+
def Truncate(text, max_length):
|
195
|
+
# ↓
|
196
|
+
def Truncate(text, max_chars):
|
197
|
+
|
198
|
+
= 3.3 限界値(1)
|
199
|
+
|
200
|
+
ショッピングカートに入る商品が\n
|
201
|
+
最大10点のケース
|
202
|
+
|
203
|
+
# coderay python
|
204
|
+
|
205
|
+
CART_TOO_BIG_LIMIT = 10
|
206
|
+
|
207
|
+
if cart.num_items() >= CART_TOO_BIG_LIMIT:
|
208
|
+
Error("カートにある商品数が多すぎます。")
|
209
|
+
|
210
|
+
= 3.3 限界値(2)
|
211
|
+
|
212
|
+
(('tag:center'))
|
213
|
+
バグあり!\n
|
214
|
+
9点までしか入らない
|
215
|
+
|
216
|
+
# coderay python
|
217
|
+
|
218
|
+
CART_TOO_BIG_LIMIT = 10
|
219
|
+
|
220
|
+
if cart.num_items() >= CART_TOO_BIG_LIMIT:
|
221
|
+
Error("カートにある商品数が多すぎます。")
|
222
|
+
|
223
|
+
= 3.3 限界値(3)
|
224
|
+
|
225
|
+
* (({CART_TOO_BIG_LIMIT}))はあいまい
|
226
|
+
* 未満?以下?→境界値の情報がない
|
227
|
+
* (({MAX_ITEMS_IN_CARTS}))は明確
|
228
|
+
* この値が最大値(境界値を含む)
|
229
|
+
* 最大値のときは(({max}))を使おう!\n
|
230
|
+
(('note:(最小値のときは(({min})))'))
|
231
|
+
|
232
|
+
= 3.3 限界値(4)
|
233
|
+
|
234
|
+
# coderay python
|
235
|
+
|
236
|
+
# CART_TOO_BIG_LIMIT = 10
|
237
|
+
# if cart.num_items() >= CART_TOO_BIG_LIMIT:
|
238
|
+
# Error("カートにある商品数が多すぎます。")
|
239
|
+
MAX_ITEMS_IN_CARTS = 10
|
240
|
+
if cart.num_items() > MAX_ITEMS_IN_CARTS:
|
241
|
+
Error("カートにある商品数が多すぎます。")
|
242
|
+
|
243
|
+
= 他の例
|
244
|
+
|
245
|
+
* 範囲を指定するときは\n
|
246
|
+
(({first}))と(({last}))を使う
|
247
|
+
* 包括/排他的範囲には\n
|
248
|
+
(({begn}))と(({end}))を使う
|
249
|
+
* …
|
250
|
+
* (詳細は本を買ってください)
|
251
|
+
|
252
|
+
= 実際の改善にチャレンジ!
|
253
|
+
|
254
|
+
# coderay php
|
255
|
+
|
256
|
+
/* schooの学生名一覧を返す
|
257
|
+
引数は返す学生名の最大値 */
|
258
|
+
function student($num) {
|
259
|
+
/* 処理の具体的な内容 */
|
260
|
+
}
|
261
|
+
|
262
|
+
* 誤解されない名前に改善して投稿
|
263
|
+
* よい投稿に「いいね!」して応援
|
264
|
+
|
265
|
+
= まとめ(1)
|
266
|
+
|
267
|
+
* リーダブルコードとは
|
268
|
+
* 変更できるコード
|
269
|
+
* バグを見つけられるコード
|
270
|
+
* ↑は((*読む人視点*))
|
271
|
+
|
272
|
+
= まとめ(2)
|
273
|
+
|
274
|
+
* 「誤解されない名前」を考えた
|
275
|
+
* (({filter}))はあいまい
|
276
|
+
* (({Clip}))もあいまい
|
277
|
+
* (({TOO_BIG_LIMIT}))もあいまい
|
278
|
+
|
279
|
+
= まとめ(3)
|
280
|
+
|
281
|
+
* 実際の改善にチャレンジした
|
282
|
+
* 「((*読む人*))が理解しやすいか?」を\n
|
283
|
+
とことん考えたはず
|
284
|
+
|
285
|
+
# blockquote
|
286
|
+
# title = 3章 誤解されない名前 p. 30
|
287
|
+
|
288
|
+
名前が「他の意味と間違えられることはないだろうか?」と何度も自問自答する
|
289
|
+
|
290
|
+
= これから(1)
|
291
|
+
|
292
|
+
* これからも((*読む人*))のことを\n
|
293
|
+
考えてコードを書こう
|
294
|
+
* ((*読む人*))のことを考えるには?
|
295
|
+
* 読む経験をたくさん積む
|
296
|
+
* たくさんコードを読もう
|
297
|
+
|
298
|
+
= これから(2)
|
299
|
+
|
300
|
+
* たくさんコードを読むコツ
|
301
|
+
* コードから学ぶ気持ちで読む
|
302
|
+
* ○いいこと探し
|
303
|
+
* ×悪いこと探し
|
304
|
+
* 本来、コードを読むことは\n
|
305
|
+
楽しいことのはず!
|
306
|
+
|
307
|
+
= これから(3)
|
308
|
+
|
309
|
+
(('tag:center'))(('tag:large'))
|
310
|
+
「解説」を読む\n
|
311
|
+
(('note:http://www.clear-code.com/blog/2012/6/11.html'))
|
312
|
+
|
313
|
+
* 本文:((*個人*))で\n
|
314
|
+
リーダブルコードを書く方法
|
315
|
+
* 解説:((*チーム*))で\n
|
316
|
+
リーダブルコードを書く方法
|
data/config.yaml
ADDED
@@ -0,0 +1,23 @@
|
|
1
|
+
---
|
2
|
+
id: schoo-readable-code-2014-12
|
3
|
+
base_name: chapter-3
|
4
|
+
tags:
|
5
|
+
- rabbit
|
6
|
+
- readable-code
|
7
|
+
- schoo
|
8
|
+
presentation_date: 2014-12-9
|
9
|
+
version: 2014.12.9.0
|
10
|
+
licenses:
|
11
|
+
- CC BY-SA 4.0
|
12
|
+
slideshare_id:
|
13
|
+
speaker_deck_id:
|
14
|
+
ustream_id:
|
15
|
+
vimeo_id:
|
16
|
+
youtube_id:
|
17
|
+
author:
|
18
|
+
markup_language: :rd
|
19
|
+
name: Kouhei Sutou
|
20
|
+
email: kou@clear-code.com
|
21
|
+
rubygems_user: kou
|
22
|
+
slideshare_user:
|
23
|
+
speaker_deck_user:
|
@@ -0,0 +1,88 @@
|
|
1
|
+
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
2
|
+
<!-- Created with Inkscape (http://www.inkscape.org/) -->
|
3
|
+
|
4
|
+
<svg
|
5
|
+
xmlns:dc="http://purl.org/dc/elements/1.1/"
|
6
|
+
xmlns:cc="http://creativecommons.org/ns#"
|
7
|
+
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
|
8
|
+
xmlns:svg="http://www.w3.org/2000/svg"
|
9
|
+
xmlns="http://www.w3.org/2000/svg"
|
10
|
+
xmlns:xlink="http://www.w3.org/1999/xlink"
|
11
|
+
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
12
|
+
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
13
|
+
width="990"
|
14
|
+
height="673"
|
15
|
+
id="svg2"
|
16
|
+
version="1.1"
|
17
|
+
inkscape:version="0.48.5 r10040"
|
18
|
+
sodipodi:docname="github-kou-with-annotation.svg">
|
19
|
+
<defs
|
20
|
+
id="defs4" />
|
21
|
+
<sodipodi:namedview
|
22
|
+
id="base"
|
23
|
+
pagecolor="#ffffff"
|
24
|
+
bordercolor="#666666"
|
25
|
+
borderopacity="1.0"
|
26
|
+
inkscape:pageopacity="0.0"
|
27
|
+
inkscape:pageshadow="2"
|
28
|
+
inkscape:zoom="0.7"
|
29
|
+
inkscape:cx="494.78333"
|
30
|
+
inkscape:cy="353.66125"
|
31
|
+
inkscape:document-units="px"
|
32
|
+
inkscape:current-layer="layer1"
|
33
|
+
showgrid="false"
|
34
|
+
inkscape:window-width="956"
|
35
|
+
inkscape:window-height="757"
|
36
|
+
inkscape:window-x="2032"
|
37
|
+
inkscape:window-y="76"
|
38
|
+
inkscape:window-maximized="0"
|
39
|
+
fit-margin-top="0"
|
40
|
+
fit-margin-left="0"
|
41
|
+
fit-margin-right="0"
|
42
|
+
fit-margin-bottom="0" />
|
43
|
+
<metadata
|
44
|
+
id="metadata7">
|
45
|
+
<rdf:RDF>
|
46
|
+
<cc:Work
|
47
|
+
rdf:about="">
|
48
|
+
<dc:format>image/svg+xml</dc:format>
|
49
|
+
<dc:type
|
50
|
+
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
|
51
|
+
<dc:title></dc:title>
|
52
|
+
</cc:Work>
|
53
|
+
</rdf:RDF>
|
54
|
+
</metadata>
|
55
|
+
<g
|
56
|
+
inkscape:label="レイヤー 1"
|
57
|
+
inkscape:groupmode="layer"
|
58
|
+
id="layer1"
|
59
|
+
transform="translate(-293.57144,-235.86218)">
|
60
|
+
<image
|
61
|
+
y="235.86218"
|
62
|
+
x="293.57144"
|
63
|
+
id="image3269"
|
64
|
+
xlink:href="github-kou.png"
|
65
|
+
height="673"
|
66
|
+
width="990" />
|
67
|
+
<rect
|
68
|
+
style="fill:#ffffff;fill-opacity:0.49803922;stroke:#a40000;stroke-width:3;stroke-linecap:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0"
|
69
|
+
id="rect4065"
|
70
|
+
width="727.14282"
|
71
|
+
height="107.14287"
|
72
|
+
x="545"
|
73
|
+
y="551.71924"
|
74
|
+
rx="5"
|
75
|
+
ry="5" />
|
76
|
+
<text
|
77
|
+
xml:space="preserve"
|
78
|
+
style="font-size:60px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans;-inkscape-font-specification:Sans"
|
79
|
+
x="576.42853"
|
80
|
+
y="624.57635"
|
81
|
+
id="text4059"
|
82
|
+
sodipodi:linespacing="125%"><tspan
|
83
|
+
sodipodi:role="line"
|
84
|
+
id="tspan4063"
|
85
|
+
x="576.42853"
|
86
|
+
y="624.57635">毎日コードを書いている</tspan></text>
|
87
|
+
</g>
|
88
|
+
</svg>
|
Binary file
|
Binary file
|
metadata
ADDED
@@ -0,0 +1,80 @@
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
|
+
name: rabbit-slide-kou-schoo-readable-code-2014-12
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 2014.12.9.0
|
5
|
+
platform: ruby
|
6
|
+
authors:
|
7
|
+
- Kouhei Sutou
|
8
|
+
autorequire:
|
9
|
+
bindir: bin
|
10
|
+
cert_chain: []
|
11
|
+
date: 2014-12-02 00:00:00.000000000 Z
|
12
|
+
dependencies:
|
13
|
+
- !ruby/object:Gem::Dependency
|
14
|
+
name: rabbit
|
15
|
+
requirement: !ruby/object:Gem::Requirement
|
16
|
+
requirements:
|
17
|
+
- - ">="
|
18
|
+
- !ruby/object:Gem::Version
|
19
|
+
version: 2.0.2
|
20
|
+
type: :runtime
|
21
|
+
prerelease: false
|
22
|
+
version_requirements: !ruby/object:Gem::Requirement
|
23
|
+
requirements:
|
24
|
+
- - ">="
|
25
|
+
- !ruby/object:Gem::Version
|
26
|
+
version: 2.0.2
|
27
|
+
- !ruby/object:Gem::Dependency
|
28
|
+
name: rabbit-theme-clear-code
|
29
|
+
requirement: !ruby/object:Gem::Requirement
|
30
|
+
requirements:
|
31
|
+
- - ">="
|
32
|
+
- !ruby/object:Gem::Version
|
33
|
+
version: '0'
|
34
|
+
type: :runtime
|
35
|
+
prerelease: false
|
36
|
+
version_requirements: !ruby/object:Gem::Requirement
|
37
|
+
requirements:
|
38
|
+
- - ">="
|
39
|
+
- !ruby/object:Gem::Version
|
40
|
+
version: '0'
|
41
|
+
description: 2014年12月9日(火)21:00-22:00に実施する授業の資料です。今回は「3章 誤解されない名前」を読みながら、よい名前のつけ方について学びます。
|
42
|
+
email:
|
43
|
+
- kou@clear-code.com
|
44
|
+
executables: []
|
45
|
+
extensions: []
|
46
|
+
extra_rdoc_files: []
|
47
|
+
files:
|
48
|
+
- ".rabbit"
|
49
|
+
- README.rd
|
50
|
+
- Rakefile
|
51
|
+
- chapter-3.rab
|
52
|
+
- config.yaml
|
53
|
+
- images/github-kou-with-annotation.svg
|
54
|
+
- images/github-kou.png
|
55
|
+
- pdf/schoo-readable-code-2014-12-chapter-3.pdf
|
56
|
+
homepage: http://slide.rabbit-shocker.org/authors/kou/schoo-readable-code-2014-12/
|
57
|
+
licenses:
|
58
|
+
- CC BY-SA 4.0
|
59
|
+
metadata: {}
|
60
|
+
post_install_message:
|
61
|
+
rdoc_options: []
|
62
|
+
require_paths:
|
63
|
+
- lib
|
64
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
65
|
+
requirements:
|
66
|
+
- - ">="
|
67
|
+
- !ruby/object:Gem::Version
|
68
|
+
version: '0'
|
69
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
70
|
+
requirements:
|
71
|
+
- - ">="
|
72
|
+
- !ruby/object:Gem::Version
|
73
|
+
version: '0'
|
74
|
+
requirements: []
|
75
|
+
rubyforge_project:
|
76
|
+
rubygems_version: 2.2.2
|
77
|
+
signing_key:
|
78
|
+
specification_version: 4
|
79
|
+
summary: "名著『リーダブルコード - より良いコードを書くためのシンプルで実践的なテクニック』を解説者と一緒に読み解こう"
|
80
|
+
test_files: []
|