rabbit-slide-kou-readable-code-workshop-2015-06-24-introduction 2015.6.24.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/config.yaml +22 -0
- data/images/readable-code-reasonability.svg +167 -0
- data/pdf/readable-code-workshop-2015-06-24-introduction-summary.pdf +0 -0
- data/summary.rab +317 -0
- metadata +79 -0
checksums.yaml
ADDED
@@ -0,0 +1,7 @@
|
|
1
|
+
---
|
2
|
+
SHA1:
|
3
|
+
metadata.gz: 59ec5ce823b41fa48d4a170e8301fc8109601d81
|
4
|
+
data.tar.gz: e9e3034c178e1a8ea0b1503ffcb2e7c252f11c7e
|
5
|
+
SHA512:
|
6
|
+
metadata.gz: 79116275d54a61935ac428fe0936848c95c92efb8f4b03716ca7b727a19d978e9ec0e62a8f6dcb561c15f791cb907a88b052fd8242d605479bf990dea19fa3a2
|
7
|
+
data.tar.gz: 18f069bc9d3743b65e0548589d0beff5650282fd8530f18af976629d437282b14d5cdca9b07a3243987580d0eec7f2a4b5a17fc1c3b54e847277b064ceaced7e
|
data/.rabbit
ADDED
@@ -0,0 +1 @@
|
|
1
|
+
summary.rab
|
data/README.rd
ADDED
@@ -0,0 +1,32 @@
|
|
1
|
+
= 実践リーダブルコードの概要
|
2
|
+
|
3
|
+
2015-06-24開催の実践リーダブルコードの概要と進め方の説明。
|
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-06-24-introduction
|
28
|
+
|
29
|
+
=== 表示
|
30
|
+
|
31
|
+
rabbit rabbit-slide-kou-readable-code-workshop-2015-06-24-introduction.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
|
+
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
|
data/config.yaml
ADDED
@@ -0,0 +1,22 @@
|
|
1
|
+
---
|
2
|
+
id: readable-code-workshop-2015-06-24-introduction
|
3
|
+
base_name: summary
|
4
|
+
tags:
|
5
|
+
- rabbit
|
6
|
+
- readable-code
|
7
|
+
presentation_date: 2015-06-24
|
8
|
+
version: 2015.6.24.0
|
9
|
+
licenses:
|
10
|
+
- CC BY-SA 4.0
|
11
|
+
slideshare_id: readable-code-workshop-2015-06-24-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>
|
Binary file
|
data/summary.rab
ADDED
@@ -0,0 +1,317 @@
|
|
1
|
+
= 概要
|
2
|
+
|
3
|
+
: author
|
4
|
+
須藤功平
|
5
|
+
: institution
|
6
|
+
株式会社クリアコード
|
7
|
+
: content-source
|
8
|
+
実践リーダブルコード
|
9
|
+
: date
|
10
|
+
2015-06-24
|
11
|
+
: allotted-time
|
12
|
+
30m
|
13
|
+
: theme
|
14
|
+
clear-code
|
15
|
+
|
16
|
+
= 今日の流れ - 午前
|
17
|
+
|
18
|
+
* 10:00- アイスブレーク
|
19
|
+
* 10:15- 概要と進め方の説明
|
20
|
+
* 10:45- 実装
|
21
|
+
* 12:30- ランチ
|
22
|
+
|
23
|
+
= 今日の流れ - 昼下がり
|
24
|
+
|
25
|
+
* 13:30- 読み方のデモ
|
26
|
+
* 13:45- チェンジして実装
|
27
|
+
* 15:30- グループふりかえり
|
28
|
+
|
29
|
+
= 今日の流れ - 夕方
|
30
|
+
|
31
|
+
* 16:00- まとめ
|
32
|
+
* 次のステップを説明
|
33
|
+
* 16:30- 感想発表・質疑応答
|
34
|
+
* 17:00- 有志で懇親会
|
35
|
+
|
36
|
+
= チューター紹介
|
37
|
+
|
38
|
+
* 参加者のサポート係
|
39
|
+
* 現役エンジニア
|
40
|
+
* 行動指針
|
41
|
+
* 参加者が目的を見失うのを防ぐ
|
42
|
+
* 新しい視点を与える
|
43
|
+
|
44
|
+
= 講師紹介
|
45
|
+
|
46
|
+
(('tag:center'))(('tag:margin-bottom * 2'))
|
47
|
+
須藤功平(すとう こうへい)
|
48
|
+
|
49
|
+
* クリアコード代表取締役
|
50
|
+
* リーダブルコード(本)の\n
|
51
|
+
「解説」の著者
|
52
|
+
* 進行と全体を気にかける係
|
53
|
+
|
54
|
+
= 講座の目的
|
55
|
+
|
56
|
+
* 自分の開発チームに
|
57
|
+
* ↑注意:個々人の話ではない
|
58
|
+
* ((*リーダブルなコードが\n
|
59
|
+
当たり前な文化の作り方*))を
|
60
|
+
* 持ち帰る
|
61
|
+
|
62
|
+
(('tag:center'))
|
63
|
+
(('note:→ 「解説」に書いていることの実践方法を学ぶ'))
|
64
|
+
|
65
|
+
= 目的でないこと
|
66
|
+
|
67
|
+
* 実践前の不安のケア
|
68
|
+
* やらない理由の増幅は抑えられない
|
69
|
+
* ↑のときに外からの声は届かない
|
70
|
+
* 例:上司の説得方法の伝授
|
71
|
+
* 時間が残ったら参加者同士で\n
|
72
|
+
情報交換する場を用意
|
73
|
+
* ↑を活用するのは可
|
74
|
+
|
75
|
+
= サポート
|
76
|
+
|
77
|
+
* 今日の資料はすべて再利用可能
|
78
|
+
* チーム内で同じ講座を再現できる
|
79
|
+
* 無料のフォローアップ面談
|
80
|
+
* チームで実践→悩み\n
|
81
|
+
↑の相談に乗る
|
82
|
+
* 受講後3ヶ月以内に1回
|
83
|
+
|
84
|
+
= そもそもの話
|
85
|
+
|
86
|
+
* リーダブルコードはなぜ必要か
|
87
|
+
|
88
|
+
(('tag:center'))
|
89
|
+
↓を目指すために\n
|
90
|
+
チームでの共有は必須\n
|
91
|
+
\n
|
92
|
+
リーダブルなコードが\n
|
93
|
+
当たり前な文化
|
94
|
+
|
95
|
+
= 必要なケース
|
96
|
+
|
97
|
+
チーム開発
|
98
|
+
|
99
|
+
= チーム開発
|
100
|
+
|
101
|
+
* 1人しか触れないコード→危険
|
102
|
+
* いなくなったら変更できない
|
103
|
+
* 変更できてもコストが大きい
|
104
|
+
* チームで触れるには?
|
105
|
+
|
106
|
+
(('wait'))
|
107
|
+
(('tag:center'))
|
108
|
+
↓\n
|
109
|
+
既存コードの理解が必要
|
110
|
+
|
111
|
+
= 既存コードの理解のため
|
112
|
+
|
113
|
+
リーダブル\n
|
114
|
+
コード
|
115
|
+
|
116
|
+
= 既存コードの理解しやすさ
|
117
|
+
|
118
|
+
* コードの変更コストに影響
|
119
|
+
* コスト↑→修正・機能追加の時間↑\n
|
120
|
+
(('note:(理解しないと変更できない)'))
|
121
|
+
* コスト↑→リグレッションバグ↑\n
|
122
|
+
(('note:(理解しないまま変更すると問題発生)'))
|
123
|
+
|
124
|
+
(('wait'))
|
125
|
+
(('tag:center'))
|
126
|
+
↓\n
|
127
|
+
理解しやすさ→開発速度に影響
|
128
|
+
|
129
|
+
= 時間が経つほど影響大
|
130
|
+
|
131
|
+
# image
|
132
|
+
# src = images/readable-code-reasonability.svg
|
133
|
+
# relative_width = 90
|
134
|
+
|
135
|
+
== プロパティー
|
136
|
+
|
137
|
+
: enable-title-on-image
|
138
|
+
false
|
139
|
+
|
140
|
+
= リーダブルコードの必要性
|
141
|
+
|
142
|
+
* チームの開発速度の維持のため
|
143
|
+
* 継続的に改良・修正したい
|
144
|
+
* それも現実的なコストで
|
145
|
+
|
146
|
+
= 必要性の実現方法
|
147
|
+
|
148
|
+
コードを読む\n
|
149
|
+
文化を作る
|
150
|
+
|
151
|
+
= 読む?書くじゃないの?
|
152
|
+
|
153
|
+
* リーダブルコードを書くには\n
|
154
|
+
コードを読まないといけない
|
155
|
+
* なぜ?
|
156
|
+
|
157
|
+
(('wait'))
|
158
|
+
(('tag:center'))
|
159
|
+
リーダブルコードは\n
|
160
|
+
チーム毎に違うから
|
161
|
+
|
162
|
+
= リーダブルコード
|
163
|
+
|
164
|
+
「読む人」が\n
|
165
|
+
読みやすいなら\n
|
166
|
+
リーダブル
|
167
|
+
|
168
|
+
= 読む人
|
169
|
+
|
170
|
+
* 多くの場合、いない
|
171
|
+
* チームのコードを読んでいますか?
|
172
|
+
* 読む人(チームメンバー)毎に\n
|
173
|
+
リーダブルの基準は違う
|
174
|
+
* 背景が違うので当たり前\n
|
175
|
+
(('note:(背景:使ってきた言語・今の知識)'))
|
176
|
+
|
177
|
+
= チームでのリーダブル
|
178
|
+
|
179
|
+
* 1つずつ見つけていくしかない
|
180
|
+
* 各メンバーの読んだ感覚を\n
|
181
|
+
チームで共有
|
182
|
+
* 既存の基準をベースにするのはアリ\n
|
183
|
+
(('note:(基準:本の内容やコーディングスタイルなど)'))
|
184
|
+
|
185
|
+
(('tag:center'))
|
186
|
+
チームでのリーダブルコードは\n
|
187
|
+
育てていくもの
|
188
|
+
|
189
|
+
= リーダブルの基準の育て方
|
190
|
+
|
191
|
+
* コードを読む文化を作る\n
|
192
|
+
(('note:(最初の難関)'))
|
193
|
+
* チームのコードの中から\n
|
194
|
+
リーダブルなコードを見つける
|
195
|
+
* リーダブルなコードを\n
|
196
|
+
チームで共有
|
197
|
+
* ↑の繰り返しで基準を増やす
|
198
|
+
|
199
|
+
= コードを読む文化を作る
|
200
|
+
|
201
|
+
* まず自分が読み始める
|
202
|
+
* 仲間がいると心強い
|
203
|
+
* リーダブルなコードを探す
|
204
|
+
* 読みにくいコードは今は置いておく\n
|
205
|
+
(('note:(チームにコードを読む文化ができてから!)'))
|
206
|
+
* 見つけたリーダブルなコードは…
|
207
|
+
|
208
|
+
= リーダブルなコードは…
|
209
|
+
|
210
|
+
* 他のメンバーに教える\n
|
211
|
+
(('note:(例:話しかける。チャットに書く。Wikiにまとめる。)'))
|
212
|
+
* 「○○さんの△△という書き方、\n
|
213
|
+
リーダブルでしたよー」
|
214
|
+
|
215
|
+
(('tag:center'))
|
216
|
+
↓\n
|
217
|
+
読みやすさの基準を共有\n
|
218
|
+
コードが読まれているという自覚
|
219
|
+
|
220
|
+
= 読むことを「当たり前」に
|
221
|
+
|
222
|
+
* 「あいつはコードを読むやつ」\n
|
223
|
+
という認識を広める
|
224
|
+
* 自分だけからチームへ
|
225
|
+
|
226
|
+
(('tag:center'))
|
227
|
+
…続きはセミナーの最後に
|
228
|
+
|
229
|
+
= ワークショップ内容
|
230
|
+
|
231
|
+
(('tag:center'))
|
232
|
+
改良するために\n
|
233
|
+
他の人のコードを読む
|
234
|
+
|
235
|
+
* 「まず自分が読み始める」
|
236
|
+
* 「リーダブルコードを探す」\n
|
237
|
+
(('note:(読みにくいコードは今は置いておく)'))
|
238
|
+
* 「リーダブルの基準を共有」\n
|
239
|
+
(('note:(チームでのリーダブルコードができる)'))
|
240
|
+
|
241
|
+
= 注意:やらないこと
|
242
|
+
|
243
|
+
(('tag:center'))
|
244
|
+
リーダブルコードを書くための\n
|
245
|
+
テクニックをたくさん伝授
|
246
|
+
|
247
|
+
((' '))
|
248
|
+
|
249
|
+
= テクニック伝授は範囲外
|
250
|
+
|
251
|
+
* 順番が違う
|
252
|
+
* まず読む文化を作ること
|
253
|
+
* 今日は↑がメイン
|
254
|
+
* テクニックはその後
|
255
|
+
* 読む文化ができていれば\n
|
256
|
+
効率的に広められる
|
257
|
+
* よい書き方でコードを書けば\n
|
258
|
+
みんながコードから学んでくれる!
|
259
|
+
|
260
|
+
= やること
|
261
|
+
|
262
|
+
読む文化作りの\n
|
263
|
+
体験
|
264
|
+
|
265
|
+
= 読む文化作り
|
266
|
+
|
267
|
+
* まず自分が読み始める
|
268
|
+
* リーダブルコードを探す
|
269
|
+
* 他のメンバーに教える
|
270
|
+
|
271
|
+
= 読む文化作りの体験
|
272
|
+
|
273
|
+
* 10:45- 課題を実装
|
274
|
+
* リーダブルコードを書く
|
275
|
+
* 13:30- 実装チェンジ→開発継続
|
276
|
+
* 「まず自分が読み始める」
|
277
|
+
* 「リーダブルコードを探す」
|
278
|
+
* 15:30- グループ発表
|
279
|
+
* 「他のメンバーに教える」
|
280
|
+
|
281
|
+
= おさらい
|
282
|
+
|
283
|
+
* 講座の目的
|
284
|
+
* リーダブルコードの必要性
|
285
|
+
* 講座でやること
|
286
|
+
|
287
|
+
= 講座の目的
|
288
|
+
|
289
|
+
* 自分の開発チームに
|
290
|
+
* ↑注意:個々人の話ではない
|
291
|
+
* ((*リーダブルなコードが\n
|
292
|
+
当たり前な文化の作り方*))を
|
293
|
+
* 持ち帰る
|
294
|
+
|
295
|
+
= リーダブルコードの必要性
|
296
|
+
|
297
|
+
* チームの開発速度の維持のため
|
298
|
+
* 継続的に改良・修正したい
|
299
|
+
* それも現実的なコストで
|
300
|
+
|
301
|
+
= 変更コストと開発速度
|
302
|
+
|
303
|
+
# image
|
304
|
+
# src = images/readable-code-reasonability.svg
|
305
|
+
# relative_width = 90
|
306
|
+
|
307
|
+
== プロパティー
|
308
|
+
|
309
|
+
: enable-title-on-image
|
310
|
+
false
|
311
|
+
|
312
|
+
= 講座でやること
|
313
|
+
|
314
|
+
* コードを読む文化作りの体験
|
315
|
+
* まず自分が読み始める
|
316
|
+
* リーダブルコードを探す
|
317
|
+
* 他のメンバーに教える
|
metadata
ADDED
@@ -0,0 +1,79 @@
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
|
+
name: rabbit-slide-kou-readable-code-workshop-2015-06-24-introduction
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 2015.6.24.0
|
5
|
+
platform: ruby
|
6
|
+
authors:
|
7
|
+
- Kouhei Sutou
|
8
|
+
autorequire:
|
9
|
+
bindir: bin
|
10
|
+
cert_chain: []
|
11
|
+
date: 2015-06-22 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-06-24開催の実践リーダブルコードの概要と進め方の説明。
|
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
|
+
- pdf/readable-code-workshop-2015-06-24-introduction-summary.pdf
|
54
|
+
- summary.rab
|
55
|
+
homepage: http://slide.rabbit-shocker.org/authors/kou/readable-code-workshop-2015-06-24-introduction/
|
56
|
+
licenses:
|
57
|
+
- CC BY-SA 4.0
|
58
|
+
metadata: {}
|
59
|
+
post_install_message:
|
60
|
+
rdoc_options: []
|
61
|
+
require_paths:
|
62
|
+
- lib
|
63
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
64
|
+
requirements:
|
65
|
+
- - ">="
|
66
|
+
- !ruby/object:Gem::Version
|
67
|
+
version: '0'
|
68
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
69
|
+
requirements:
|
70
|
+
- - ">="
|
71
|
+
- !ruby/object:Gem::Version
|
72
|
+
version: '0'
|
73
|
+
requirements: []
|
74
|
+
rubyforge_project:
|
75
|
+
rubygems_version: 2.2.2
|
76
|
+
signing_key:
|
77
|
+
specification_version: 4
|
78
|
+
summary: "実践リーダブルコードの概要"
|
79
|
+
test_files: []
|