rabbit-slide-kou-readable-code-workshop-2015-03-06-introduction 2015.3.6.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.
@@ -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: []