rabbit-slide-kou-readable-code-workshop-2015-03-06-introduction 2015.3.6.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA1:
3
+ metadata.gz: ffa7995ca92d8c213fbfc95c9d473b2289899bfd
4
+ data.tar.gz: 9f556e525496aa5950257720961194a9e6b802c5
5
+ SHA512:
6
+ metadata.gz: 226781f543f9e9e7ed1504b0d3069570224f70d6c0e87644636f6111e190f65b40d11fe26b724081a8c3b8fbe74ed633854e73b9284beaf09fe0215d1dff439d
7
+ data.tar.gz: a6f93d4027cebebc3a616f36a6a330f6650dccd20a32f02762d2f6c0599300e8eb2f0bbf5a4dcb10f1cc69196a34d67ace733b00ed40c49729d645e6338768ef
data/.rabbit ADDED
@@ -0,0 +1 @@
1
+ summary.rab
@@ -0,0 +1,32 @@
1
+ = 実践リーダブルコードの概要
2
+
3
+ 2015-03-06開催の実践リーダブルコードの概要と進め方の説明。
4
+
5
+ == ライセンス
6
+
7
+ CC BY-SA 4.0
8
+
9
+ 原著作者名は以下の通りです。
10
+
11
+ * 株式会社クリアコード
12
+
13
+ == 作者向け
14
+
15
+ === 表示
16
+
17
+ rake
18
+
19
+ === 公開
20
+
21
+ rake publish
22
+
23
+ == 閲覧者向け
24
+
25
+ === インストール
26
+
27
+ gem install rabbit-slide-kou-readable-code-workshop-2015-03-06-introduction
28
+
29
+ === 表示
30
+
31
+ rabbit rabbit-slide-kou-readable-code-workshop-2015-03-06-introduction.gem
32
+
@@ -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
+ spec.files += Dir.glob("images/**/*.*")
9
+ # spec.files -= Dir.glob("private/**/*.*")
10
+ 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
@@ -0,0 +1,22 @@
1
+ ---
2
+ id: readable-code-workshop-2015-03-06-introduction
3
+ base_name: summary
4
+ tags:
5
+ - rabbit
6
+ - readable-code
7
+ presentation_date: 2015-03-06
8
+ version: 2015.3.6.0
9
+ licenses:
10
+ - CC BY-SA 4.0
11
+ slideshare_id: readable-code-workshop-2015-03-06-introduction
12
+ speaker_deck_id:
13
+ ustream_id:
14
+ vimeo_id:
15
+ youtube_id:
16
+ author:
17
+ markup_language: :rd
18
+ name: Kouhei Sutou
19
+ email: kou@clear-code.com
20
+ rubygems_user: kou
21
+ slideshare_user: kou
22
+ speaker_deck_user: kou
@@ -0,0 +1,167 @@
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:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
11
+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
12
+ width="416.15005"
13
+ height="233.13203"
14
+ id="svg2"
15
+ version="1.1"
16
+ inkscape:version="0.48.5 r10040"
17
+ sodipodi:docname="readable-code-reasonability.svg">
18
+ <defs
19
+ id="defs4">
20
+ <marker
21
+ inkscape:stockid="Arrow1Lend"
22
+ orient="auto"
23
+ refY="0"
24
+ refX="0"
25
+ id="Arrow1Lend"
26
+ style="overflow:visible">
27
+ <path
28
+ id="path3764"
29
+ d="M 0,0 5,-5 -12.5,0 5,5 0,0 z"
30
+ style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt"
31
+ transform="matrix(-0.8,0,0,-0.8,-10,0)"
32
+ inkscape:connector-curvature="0" />
33
+ </marker>
34
+ </defs>
35
+ <sodipodi:namedview
36
+ id="base"
37
+ pagecolor="#ffffff"
38
+ bordercolor="#666666"
39
+ borderopacity="1.0"
40
+ inkscape:pageopacity="0.0"
41
+ inkscape:pageshadow="2"
42
+ inkscape:zoom="1.979899"
43
+ inkscape:cx="304.97745"
44
+ inkscape:cy="179.2249"
45
+ inkscape:document-units="px"
46
+ inkscape:current-layer="layer1"
47
+ showgrid="false"
48
+ inkscape:window-width="1237"
49
+ inkscape:window-height="817"
50
+ inkscape:window-x="2116"
51
+ inkscape:window-y="68"
52
+ inkscape:window-maximized="0"
53
+ fit-margin-top="10"
54
+ fit-margin-left="10"
55
+ fit-margin-right="10"
56
+ fit-margin-bottom="10" />
57
+ <metadata
58
+ id="metadata7">
59
+ <rdf:RDF>
60
+ <cc:Work
61
+ rdf:about="">
62
+ <dc:format>image/svg+xml</dc:format>
63
+ <dc:type
64
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
65
+ <dc:title></dc:title>
66
+ </cc:Work>
67
+ </rdf:RDF>
68
+ </metadata>
69
+ <g
70
+ inkscape:label="レイヤー 1"
71
+ inkscape:groupmode="layer"
72
+ id="layer1"
73
+ transform="translate(-42.823639,-264.5498)">
74
+ <path
75
+ style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow1Lend)"
76
+ d="m 62.629458,450.31127 286.883322,0"
77
+ id="path2985"
78
+ inkscape:connector-curvature="0" />
79
+ <path
80
+ style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow1Lend)"
81
+ d="m 104.04571,487.18183 0,-212.13203"
82
+ id="path2987"
83
+ inkscape:connector-curvature="0" />
84
+ <text
85
+ xml:space="preserve"
86
+ style="font-size:20px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans"
87
+ x="310.62192"
88
+ y="476.57526"
89
+ id="text4402"
90
+ sodipodi:linespacing="125%"><tspan
91
+ sodipodi:role="line"
92
+ id="tspan4404"
93
+ x="310.62192"
94
+ y="476.57526">時間</tspan></text>
95
+ <text
96
+ xml:space="preserve"
97
+ style="font-size:20px;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"
98
+ x="52.022858"
99
+ y="293.73761"
100
+ id="text4406"
101
+ sodipodi:linespacing="125%"><tspan
102
+ sodipodi:role="line"
103
+ id="tspan4410"
104
+ x="52.022858"
105
+ y="293.73761">開発</tspan><tspan
106
+ sodipodi:role="line"
107
+ id="tspan4412"
108
+ x="52.022858"
109
+ y="318.73761">速度</tspan></text>
110
+ <path
111
+ style="fill:none;stroke:#a40000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
112
+ d="m 104.02541,309.39499 c 0,0 15.15229,97.47972 90.40865,116.67261 75.25637,19.1929 140.91628,13.63706 140.91628,13.63706"
113
+ id="path5532"
114
+ inkscape:connector-curvature="0"
115
+ sodipodi:nodetypes="csc" />
116
+ <text
117
+ xml:space="preserve"
118
+ style="font-size:25px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#a40000;fill-opacity:1;stroke:none;font-family:Sans"
119
+ x="174.97467"
120
+ y="387.88406"
121
+ id="text5534"
122
+ sodipodi:linespacing="125%"><tspan
123
+ sodipodi:role="line"
124
+ id="tspan5536"
125
+ x="174.97467"
126
+ y="387.88406">リーダブルじゃない場合</tspan></text>
127
+ <path
128
+ style="fill:none;stroke:#204a87;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
129
+ d="m 103.57143,342.36218 c 0,0 63.28367,10.3815 101.53626,13.06635 43.48081,3.05182 112.03517,4.79079 132.74945,4.07651"
130
+ id="path5546"
131
+ inkscape:connector-curvature="0"
132
+ sodipodi:nodetypes="csc" />
133
+ <text
134
+ sodipodi:linespacing="125%"
135
+ id="text5548"
136
+ y="301.74121"
137
+ x="144.83182"
138
+ style="font-size:25px;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:#204a87;fill-opacity:1;stroke:none;font-family:Sans;-inkscape-font-specification:Sans"
139
+ xml:space="preserve"><tspan
140
+ sodipodi:role="line"
141
+ id="tspan5552"
142
+ x="144.83182"
143
+ y="301.74121">リーダブルな場合</tspan></text>
144
+ <text
145
+ xml:space="preserve"
146
+ style="font-size:20px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans"
147
+ x="148.05447"
148
+ y="330.21933"
149
+ id="text5554"
150
+ sodipodi:linespacing="125%"><tspan
151
+ sodipodi:role="line"
152
+ id="tspan5556"
153
+ x="148.05447"
154
+ y="330.21933">開発速度が落ちにくい</tspan></text>
155
+ <text
156
+ sodipodi:linespacing="125%"
157
+ id="text5558"
158
+ y="412.21933"
159
+ x="177.2403"
160
+ style="font-size:20px;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"
161
+ xml:space="preserve"><tspan
162
+ sodipodi:role="line"
163
+ id="tspan5562"
164
+ x="177.2403"
165
+ y="412.21933">開発速度が落ちやすい</tspan></text>
166
+ </g>
167
+ </svg>
@@ -0,0 +1,252 @@
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:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
11
+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
12
+ width="598.62439"
13
+ height="384.45416"
14
+ id="svg2"
15
+ version="1.1"
16
+ inkscape:version="0.48.5 r10040"
17
+ sodipodi:docname="software-life-cycle.svg">
18
+ <defs
19
+ id="defs4">
20
+ <marker
21
+ inkscape:stockid="Arrow1Lend"
22
+ orient="auto"
23
+ refY="0"
24
+ refX="0"
25
+ id="Arrow1Lend"
26
+ style="overflow:visible">
27
+ <path
28
+ id="path3771"
29
+ d="M 0,0 5,-5 -12.5,0 5,5 0,0 z"
30
+ style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt"
31
+ transform="matrix(-0.8,0,0,-0.8,-10,0)"
32
+ inkscape:connector-curvature="0" />
33
+ </marker>
34
+ </defs>
35
+ <sodipodi:namedview
36
+ id="base"
37
+ pagecolor="#ffffff"
38
+ bordercolor="#666666"
39
+ borderopacity="1.0"
40
+ inkscape:pageopacity="0.0"
41
+ inkscape:pageshadow="2"
42
+ inkscape:zoom="0.7"
43
+ inkscape:cx="255.06452"
44
+ inkscape:cy="396.03936"
45
+ inkscape:document-units="px"
46
+ inkscape:current-layer="layer1"
47
+ showgrid="false"
48
+ inkscape:window-width="1330"
49
+ inkscape:window-height="945"
50
+ inkscape:window-x="2156"
51
+ inkscape:window-y="62"
52
+ inkscape:window-maximized="0"
53
+ fit-margin-top="10"
54
+ fit-margin-left="10"
55
+ fit-margin-right="10"
56
+ fit-margin-bottom="10" />
57
+ <metadata
58
+ id="metadata7">
59
+ <rdf:RDF>
60
+ <cc:Work
61
+ rdf:about="">
62
+ <dc:format>image/svg+xml</dc:format>
63
+ <dc:type
64
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
65
+ <dc:title />
66
+ </cc:Work>
67
+ </rdf:RDF>
68
+ </metadata>
69
+ <g
70
+ inkscape:label="レイヤー 1"
71
+ inkscape:groupmode="layer"
72
+ id="layer1"
73
+ transform="translate(12.770649,-220.62975)">
74
+ <text
75
+ xml:space="preserve"
76
+ style="font-size:30px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans"
77
+ x="111.76798"
78
+ y="255.85435"
79
+ id="text2985"
80
+ sodipodi:linespacing="125%"><tspan
81
+ sodipodi:role="line"
82
+ id="tspan2987"
83
+ x="111.76798"
84
+ y="255.85435">昔</tspan></text>
85
+ <path
86
+ style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-start:none;marker-end:url(#Arrow1Lend)"
87
+ d="m 45.714286,480.93361 0,-201.42857"
88
+ id="path3012"
89
+ inkscape:connector-curvature="0" />
90
+ <path
91
+ style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow1Lend)"
92
+ d="m 18.285714,453.79075 232.857146,0"
93
+ id="path3014"
94
+ inkscape:connector-curvature="0" />
95
+ <text
96
+ xml:space="preserve"
97
+ style="font-size:20px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans"
98
+ x="237.14285"
99
+ y="478.07648"
100
+ id="text3016"
101
+ sodipodi:linespacing="125%"><tspan
102
+ sodipodi:role="line"
103
+ id="tspan3018"
104
+ x="237.14285"
105
+ y="478.07648">時間</tspan></text>
106
+ <text
107
+ xml:space="preserve"
108
+ style="font-size:20px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans"
109
+ x="-3.5714307"
110
+ y="293.79074"
111
+ id="text3020"
112
+ sodipodi:linespacing="125%"><tspan
113
+ sodipodi:role="line"
114
+ id="tspan3022"
115
+ x="-3.5714307"
116
+ y="293.79074">機能</tspan></text>
117
+ <path
118
+ style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
119
+ d="M 46.785714,452.36218 171.42857,314.1479 l 72.85714,-5.71429"
120
+ id="path3028"
121
+ inkscape:connector-curvature="0" />
122
+ <text
123
+ xml:space="preserve"
124
+ style="font-size:30px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans"
125
+ x="111.28571"
126
+ y="510.93359"
127
+ id="text3034"
128
+ sodipodi:linespacing="125%"><tspan
129
+ sodipodi:role="line"
130
+ id="tspan3036"
131
+ x="111.28571"
132
+ y="510.93359">利用開始</tspan></text>
133
+ <path
134
+ inkscape:connector-curvature="0"
135
+ id="path4583"
136
+ d="m 171.71429,480.93361 0,-201.42857"
137
+ style="fill:none;stroke:#ce5c00;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-start:none;marker-end:none" />
138
+ <text
139
+ sodipodi:linespacing="125%"
140
+ id="text4779"
141
+ y="255.85435"
142
+ x="411.76797"
143
+ style="font-size:30px;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"
144
+ xml:space="preserve"><tspan
145
+ sodipodi:role="line"
146
+ id="tspan3008"
147
+ x="411.76797"
148
+ y="255.85435">今</tspan></text>
149
+ <path
150
+ inkscape:connector-curvature="0"
151
+ id="path4783"
152
+ d="m 345.71429,480.93361 0,-201.42857"
153
+ style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-start:none;marker-end:url(#Arrow1Lend)" />
154
+ <path
155
+ inkscape:connector-curvature="0"
156
+ id="path4785"
157
+ d="m 318.28571,453.79075 232.85715,0"
158
+ style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow1Lend)" />
159
+ <text
160
+ sodipodi:linespacing="125%"
161
+ id="text4787"
162
+ y="478.07648"
163
+ x="537.14282"
164
+ style="font-size:20px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans"
165
+ xml:space="preserve"><tspan
166
+ y="478.07648"
167
+ x="537.14282"
168
+ id="tspan4789"
169
+ sodipodi:role="line">時間</tspan></text>
170
+ <text
171
+ sodipodi:linespacing="125%"
172
+ id="text4791"
173
+ y="293.79074"
174
+ x="296.42859"
175
+ style="font-size:20px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans"
176
+ xml:space="preserve"><tspan
177
+ y="293.79074"
178
+ x="296.42859"
179
+ id="tspan4793"
180
+ sodipodi:role="line">機能</tspan></text>
181
+ <path
182
+ inkscape:connector-curvature="0"
183
+ id="path4795"
184
+ d="M 346.78571,452.36218 471.42857,314.1479 544.28571,308.43361"
185
+ style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" />
186
+ <text
187
+ sodipodi:linespacing="125%"
188
+ id="text4797"
189
+ y="510.93359"
190
+ x="333.28571"
191
+ style="font-size:30px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans"
192
+ xml:space="preserve"><tspan
193
+ y="510.93359"
194
+ x="333.28571"
195
+ id="tspan4799"
196
+ sodipodi:role="line">利用開始</tspan></text>
197
+ <path
198
+ style="fill:none;stroke:#ce5c00;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-start:none;marker-end:none"
199
+ d="m 391.71429,480.93361 0,-201.42857"
200
+ id="path4801"
201
+ inkscape:connector-curvature="0" />
202
+ <text
203
+ xml:space="preserve"
204
+ style="font-size:20px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans"
205
+ x="180"
206
+ y="274.50504"
207
+ id="text3008"
208
+ sodipodi:linespacing="125%"><tspan
209
+ sodipodi:role="line"
210
+ id="tspan3010"
211
+ x="180"
212
+ y="274.50504">なるべく</tspan><tspan
213
+ sodipodi:role="line"
214
+ x="180"
215
+ y="299.50504"
216
+ id="tspan3012">触らない</tspan></text>
217
+ <text
218
+ sodipodi:linespacing="125%"
219
+ id="text3014"
220
+ y="408.85532"
221
+ x="408.25388"
222
+ style="font-size:20px;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"
223
+ xml:space="preserve"><tspan
224
+ sodipodi:role="line"
225
+ id="tspan3021"
226
+ x="408.25388"
227
+ y="408.85532">継続的に</tspan><tspan
228
+ sodipodi:role="line"
229
+ id="tspan3023"
230
+ x="408.25388"
231
+ y="433.85532">改良・修正</tspan></text>
232
+ <text
233
+ xml:space="preserve"
234
+ style="font-size:20px;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"
235
+ x="2.9436376"
236
+ y="543.48236"
237
+ id="text3015"
238
+ sodipodi:linespacing="125%"><tspan
239
+ sodipodi:role="line"
240
+ id="tspan4532"
241
+ x="2.9436376"
242
+ y="543.48236">注:同じものができていそうな図だが、できあがるものは違う。</tspan><tspan
243
+ sodipodi:role="line"
244
+ id="tspan4534"
245
+ x="2.9436376"
246
+ y="568.48236">  ←は利用開始前に想定していたものができる。</tspan><tspan
247
+ sodipodi:role="line"
248
+ id="tspan4536"
249
+ x="2.9436376"
250
+ y="593.48236">  →は利用したフィードバックを反映したものができる。</tspan></text>
251
+ </g>
252
+ </svg>
@@ -0,0 +1,345 @@
1
+ = 概要
2
+
3
+ : author
4
+ 須藤功平
5
+ : institution
6
+ 株式会社クリアコード
7
+ : content-source
8
+ 実践リーダブルコード
9
+ : date
10
+ 2015-03-06
11
+ : allotted-time
12
+ 30m
13
+ : theme
14
+ clear-code
15
+
16
+ = 今日の流れ - 午前
17
+
18
+ * 10:00- アイスブレーク
19
+ * 10:15- 概要と進め方の説明
20
+ * 10:45- 実装
21
+ * 12:15- ランチ
22
+
23
+ = 今日の流れ - 昼下がり
24
+
25
+ * 13:15- 読み方のデモ
26
+ * 13:30- チェンジして実装
27
+ * 15:00- グループふりかえり
28
+ * 15:30- グループ発表
29
+
30
+ = 今日の流れ - 夕方
31
+
32
+ * 16:00- まとめ
33
+ * 次のステップを説明
34
+ * 16:30- 質疑応答
35
+ * 17:30- コードの感想戦
36
+ * 時間があれば
37
+ * 18:00- (有志で懇親会?)
38
+
39
+ = チューター紹介
40
+
41
+ * 参加者のサポート係
42
+ * 現役エンジニア
43
+ * 参加者がわからない
44
+ * →聞くと助けてくれる
45
+ * →モジモジしてると声をかけてくる
46
+
47
+ = チューター紹介
48
+
49
+ * 結城洋志(ゆうき ひろし)
50
+ * 得意言語: JavaScript
51
+ * 沖元謙治(おきもと けんじ)
52
+ * 得意言語: Ruby
53
+ * 横山昌史(よこやま まさふみ)
54
+ * 得意言語: Ruby
55
+
56
+ = 講師紹介
57
+
58
+ (('tag:center'))(('tag:margin-bottom * 2'))
59
+ 須藤功平(すとう こうへい)
60
+
61
+ * クリアコード代表取締役
62
+ * リーダブルコード(本)の\n
63
+ 「解説」の著者
64
+ * 進行と全体を気にかける係
65
+
66
+ = 講座の目的
67
+
68
+ * 自分の開発チームに
69
+ * ((*リーダブルなコードが\n
70
+ 当たり前な文化の作り方*))を
71
+ * 持ち帰る
72
+
73
+ (('tag:center'))
74
+ (('note:→ 「解説」に書いていることの実践方法を学ぶ'))
75
+
76
+ = サポート
77
+
78
+ * 今日の資料はすべて再利用可能
79
+ * チーム内で同じ講座を再現できる
80
+ * 無料のフォローアップ面談
81
+ * チームで実践→悩み\n
82
+ ↑の相談に乗る
83
+ * 受講後3ヶ月以内に1回
84
+
85
+ = そもそもの話
86
+
87
+ * リーダブルコードはなぜ必要か
88
+
89
+ (('tag:center'))
90
+ ↓を目指すために\n
91
+ チームでの共有は必須\n
92
+ \n
93
+ リーダブルなコードが\n
94
+ 当たり前な文化
95
+
96
+ = リーダブルコードの必要性(1)
97
+
98
+ 作って終わり\n
99
+ じゃないから
100
+
101
+ = ソフトウェアの生涯
102
+
103
+ * 昔
104
+ * 作って終わり
105
+ * 作ったらできるだけ触らない
106
+ * 今
107
+ * 機能は少なくてもまず動くものを
108
+ * 動いてからも継続的に改良・修正
109
+
110
+ = ソフトウェアの生涯
111
+
112
+ # image
113
+ # src = images/software-life-cycle.svg
114
+ # relative_width = 90
115
+
116
+ == プロパティー
117
+
118
+ : enable-title-on-image
119
+ false
120
+
121
+ = 継続的に改良・修正
122
+
123
+ * 既存の機能の改良
124
+ (1) 既存機能の理解→
125
+ (2) 改良
126
+ * 既存の機能の修正
127
+ (1) 既存機能の理解→
128
+ (2) 修正
129
+
130
+ = 既存機能の理解のため
131
+
132
+ リーダブル\n
133
+ コード
134
+
135
+ = 時間が経つほど効果がでる
136
+
137
+ # image
138
+ # src = images/readable-code-reasonability.svg
139
+ # relative_width = 90
140
+
141
+ == プロパティー
142
+
143
+ : enable-title-on-image
144
+ false
145
+
146
+ = リーダブルコードの必要性(2)
147
+
148
+ 1人だけの開発\n
149
+ じゃないから
150
+
151
+ = チームでの開発
152
+
153
+ * 昔
154
+ * 1つのモジュールに1人の担当者
155
+ * →1人しか触れないモジュール
156
+ * →チームとして改良・修正できない
157
+ * 今
158
+ * 1つのモジュールに複数担当者
159
+ * →複数人が触れるモジュール
160
+ * →チームとして改良・修正できる
161
+
162
+ = 複数人が触れる
163
+
164
+ 触れる\n
165
+ ↓\n
166
+ 既存機能を\n
167
+ 理解できる
168
+
169
+ = 既存機能の理解のため
170
+
171
+ リーダブル\n
172
+ コード
173
+
174
+ = リーダブルコードの必要性
175
+
176
+ * 継続的に改良・修正したい
177
+ * チームとして改良・修正したい
178
+
179
+ (('tag:center'))
180
+ ↑をチームで共有することが\n
181
+ 最初にやること
182
+
183
+ = 必要性を共有した後
184
+
185
+ コードを読む\n
186
+ 文化を作る
187
+
188
+ = 読む?書くじゃないの?
189
+
190
+ * リーダブルコードを書くには\n
191
+ コードを読まないといけない
192
+ * なぜ?
193
+ * →リーダブルコードは\n
194
+ チーム毎に違うから
195
+
196
+ = リーダブルコード
197
+
198
+ 「読む人」が\n
199
+ 読みやすいなら\n
200
+ リーダブル
201
+
202
+ = 読む人
203
+
204
+ * 多くの場合、いない
205
+ * チームのコードを読んでいますか?
206
+ * 読む人(チームメンバー)毎に\n
207
+ リーダブルの基準は違う
208
+ * 背景が違うので当たり前\n
209
+ (('note:(背景:使ってきた言語とか)'))
210
+
211
+ = チームでのリーダブル
212
+
213
+ * 1つずつ見つけていくしかない
214
+ * 各メンバーの読んだ感覚を\n
215
+ チームで共有
216
+ * 既存の基準をベースにするのはアリ\n
217
+ (('note:(基準:本の内容やコーディングスタイルなど)'))
218
+
219
+ (('tag:center'))
220
+ チームでのリーダブルコードは\n
221
+ 育てていくもの
222
+
223
+ = リーダブルの基準の育て方
224
+
225
+ * コードを読む文化を作る\n
226
+ (('note:(最初の難関)'))
227
+ * チームのコードの中から\n
228
+ リーダブルなコードを見つける
229
+ * リーダブルなコードを\n
230
+ チームで共有
231
+ * ↑の繰り返しで基準を増やす
232
+
233
+ = コードを読む文化を作る
234
+
235
+ * まず自分が読み始める
236
+ * 仲間がいると心強い
237
+ * リーダブルなコードを探す
238
+ * 読みにくいコードは今は置いておく\n
239
+ (('note:(チームにコードを読む文化ができてから!)'))
240
+ * 見つけたリーダブルなコードは…
241
+
242
+ = リーダブルなコードは…
243
+
244
+ * 他のメンバーに教える\n
245
+ (('note:(例:話しかける。チャットに書く。Wikiにまとめる。)'))
246
+ * 「○○さんの△△という書き方、\n
247
+ リーダブルでしたよー」
248
+
249
+ (('tag:center'))
250
+ ↓\n
251
+ 読みやすさの基準を共有\n
252
+ コードが読まれているという自覚
253
+
254
+ = 読むことを「当たり前」に
255
+
256
+ * 「あいつはコードを読むやつ」\n
257
+ という認識を広める
258
+ * 自分だけからチームへ
259
+
260
+ (('tag:center'))
261
+ …続きはセミナーの最後に
262
+
263
+ = ワークショップ内容
264
+
265
+ (('tag:center'))
266
+ 改良するために\n
267
+ 他の人のコードを読む
268
+
269
+ * 「まず自分が読み始める」
270
+ * 「リーダブルコードを探す」\n
271
+ (('note:(読みにくいコードは今は置いておく)'))
272
+ * 「リーダブルの基準を共有」
273
+
274
+ = 注意:やらないこと
275
+
276
+ (('tag:center'))
277
+ リーダブルコードを書くための\n
278
+ テクニックをたくさん伝授
279
+
280
+ ((' '))
281
+
282
+ = テクニック伝授は範囲外
283
+
284
+ * 順番が違う
285
+ * まず読む文化を作ること
286
+ * 今日は↑がメイン
287
+ * テクニックはその後
288
+ * (('note:時間があれば「コードの感想戦」でフォロー'))
289
+
290
+ = やること
291
+
292
+ 読む文化作りの\n
293
+ 体験
294
+
295
+ = 読む文化作り
296
+
297
+ * まず自分が読み始める
298
+ * リーダブルコードを探す
299
+ * 他のメンバーに教える
300
+
301
+ = 読む文化作りの体験
302
+
303
+ * 10:45- 課題を実装
304
+ * リーダブルコードを書く
305
+ * 13:30- 実装チェンジ→開発継続
306
+ * 「まず自分が読み始める」
307
+ * 「リーダブルコードを探す」
308
+ * 15:30- グループ発表
309
+ * 「他のメンバーに教える」
310
+
311
+ = おさらい
312
+
313
+ * 講座の目的
314
+ * リーダブルコードの必要性
315
+ * 講座でやること
316
+
317
+ = 講座の目的
318
+
319
+ * 自分の開発チームに
320
+ * ((*リーダブルなコードが\n
321
+ 当たり前な文化の作り方*))を
322
+ * 持ち帰る
323
+
324
+ = 文化作りの前
325
+
326
+ * リーダブルコードの必要性を\n
327
+ チームで共有
328
+ * 必須
329
+ * これを飛ばすと頓挫する
330
+
331
+ = リーダブルコードの必要性
332
+
333
+ * 継続的に改良・修正したい
334
+ * チームとして改良・修正したい
335
+
336
+ (('tag:center'))
337
+ ↑\n
338
+ 既存機能の理解が重要なら必要
339
+
340
+ = 講座でやること
341
+
342
+ * コードを読む文化作りの体験
343
+ * まず自分が読み始める
344
+ * リーダブルコードを探す
345
+ * 他のメンバーに教える
metadata ADDED
@@ -0,0 +1,80 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: rabbit-slide-kou-readable-code-workshop-2015-03-06-introduction
3
+ version: !ruby/object:Gem::Version
4
+ version: 2015.3.6.0
5
+ platform: ruby
6
+ authors:
7
+ - Kouhei Sutou
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain: []
11
+ date: 2015-03-06 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: 2015-03-06開催の実践リーダブルコードの概要と進め方の説明。
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
+ - config.yaml
52
+ - images/readable-code-reasonability.svg
53
+ - images/software-life-cycle.svg
54
+ - pdf/readable-code-workshop-2015-03-06-introduction-summary.pdf
55
+ - summary.rab
56
+ homepage: http://slide.rabbit-shocker.org/authors/kou/readable-code-workshop-2015-03-06-introduction/
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: []