rabbit-slide-kou-readable-code-workshop-2015-06-24-conclusion 2015.6.24.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: 682545d3e18417178f83818e2815ff4b0294e61e
4
+ data.tar.gz: cb1688ead20595c0ccd1d0ae15fef59e7f5920fe
5
+ SHA512:
6
+ metadata.gz: c65aa776f190423e27892249ce411afe963a1d0acc7c173c15ed37b98f841d5fb68c582c2e79fddf4fc6f47c27454bb5a96b47fe0bd4beb085ddf95a06d8ea32
7
+ data.tar.gz: 78de8d744e896feee3f82e59d7af57449f8cca6abd07802c47f349a7e3f3c0de47c150761e07414ace81dbf9ce5306e23a703b028ade62d6acff400b62acb7a3
data/.rabbit ADDED
@@ -0,0 +1 @@
1
+ next-step.rab
@@ -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-conclusion
28
+
29
+ === 表示
30
+
31
+ rabbit rabbit-slide-kou-readable-code-workshop-2015-06-24-conclusion.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("doc/**/*.*")
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,23 @@
1
+ ---
2
+ id: readable-code-workshop-2015-06-24-conclusion
3
+ base_name: next-step
4
+ tags:
5
+ - rabbit
6
+ - readable-code
7
+ - sezemi
8
+ presentation_date: 2015-06-24
9
+ version: 2015.6.24.0
10
+ licenses:
11
+ - CC BY-SA 4.0
12
+ slideshare_id: readable-code-workshop-2015-06-24-conclusion
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: kou
23
+ 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,191 @@
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
+ * 自分の開発チームに
19
+ * ((*リーダブルなコードが\n
20
+ 当たり前な文化の作り方*))を
21
+ * 持ち帰る
22
+
23
+ = リーダブルコードの必要性
24
+
25
+ * チームの開発速度の維持のため
26
+ * 継続的に改良・修正したい
27
+ * それも現実的なコストで
28
+
29
+ = 変更コストと開発速度
30
+
31
+ # image
32
+ # src = images/readable-code-reasonability.svg
33
+ # relative_width = 90
34
+
35
+ == プロパティー
36
+
37
+ : enable-title-on-image
38
+ false
39
+
40
+ = 文化の作り方の流れ(1)
41
+
42
+ * チームでリーダブル基準を育む
43
+ * 「読む人」が\n
44
+ 読みやすいなら\n
45
+ リーダブル
46
+ * 「読む人」が変われば基準が変わる
47
+ * →読む人が違うのでチーム毎に違う
48
+
49
+ = 文化の作り方の流れ(2)
50
+
51
+ * 基準の育て方
52
+ * 各メンバーがコードを読む
53
+ * リーダブルだと思ったコードを共有
54
+ * チームとしてリーダブルかを判断
55
+ * →チームの基準に加わる
56
+
57
+ = 基準の育て方(1)
58
+
59
+ * コードを読む文化を作る
60
+ * まず自分が読み始める
61
+ * リーダブルなコードを探す
62
+ * 見つけたリーダブルなコードを\n
63
+ 他のメンバーに伝える(('note:(後述)'))
64
+ * →コードが読まれるという自覚が\n
65
+ チームに浸透
66
+
67
+ (('tag:center'))
68
+ (('note:今日やったのはここまで'))
69
+
70
+ = 基準の育て方(2)
71
+
72
+ (('tag:center'))
73
+ (('note:次のステップ'))
74
+
75
+ * コミットを読む
76
+ * コード全体ではなく差分を読む
77
+ * 設計の仕方ではなく\n
78
+ 開発の仕方が見える
79
+ * リーダブルなコードを\n
80
+ 見つけるには適切
81
+
82
+ = 基準の育て方(3)
83
+
84
+ * コミットの読み方
85
+ * pull型よりpush型がよい\n
86
+ (('note:(Git用のオススメツールあり:git-commit-mailer)'))\n
87
+ (('note:(Subversion用のツールもあり:同梱されている)'))
88
+ * 読むコストが下がる
89
+ * 流し読む(負担が多いと続かない)
90
+ * 問題探し視点では読まない\n
91
+ (('note:(必要ならコードレビューを実施)'))
92
+
93
+ = 基準の育て方(4)
94
+
95
+ * リーダブルコードの伝え方
96
+ * Wikiに書く(全チームで有効)
97
+ * コードで伝える(上級チーム向け)
98
+
99
+ = 基準の育て方(5)
100
+
101
+ * Wikiに書いて伝える
102
+ * Wikiもdiffを通知できるようにする\n
103
+ (('note:(RedmineとGitHub用はツールあり)'))
104
+ * 後で参照できるため
105
+ * 更新もできるため\n
106
+ (('note:(リーダブルコードの基準は変わることもある!)'))
107
+
108
+ = 基準の育て方(6)
109
+
110
+ * コードで伝える
111
+ * 上級チーム向け\n
112
+ (('note:(チームにコードを読む文化が根付いた後)'))
113
+ * リーダブルコードを真似てコミット
114
+ * →他の人:「またこの書き方だ」
115
+ * →真似する人増加→チームが合意
116
+ * →チームが合意→Wikiにまとめる
117
+
118
+ = コードを読む文化
119
+
120
+ * 新人の受け入れにも有用
121
+ * 人の入れ替えにも有用
122
+
123
+ = どうして有用か
124
+
125
+ (('tag:center'))
126
+ 開発を通じて↓を伝えられる\n
127
+ (('note:(ただし、上級チームになってから)'))
128
+
129
+ * チームが大事にしていること
130
+ * チームのリーダブル
131
+ * チームの開発スタイル
132
+
133
+ = コードを読む文化
134
+
135
+ (('tag:center'))
136
+ チームが大事にしていることを\n
137
+ 開発を通じて伝えられる\n
138
+
139
+
140
+ * 新人の受け入れにも有用
141
+ * 開発速度低下を抑えられる
142
+ * 人の入れ替えにも有用
143
+ * リーダブル見直しのよい機会
144
+
145
+ = これからやること
146
+
147
+ * この講座をチームでもやる
148
+ * 資料はすべて再利用可能
149
+ * 自分がコードを読み始める
150
+ * 自分が変更するコードの周辺から\n
151
+ リーダブルコードを探す
152
+ * 見つけたリーダブルなコードを\n
153
+ 他のメンバーに伝える
154
+
155
+ = サポート(1)
156
+
157
+ * 今日の資料はすべて再利用可能
158
+ * チーム内で同じ講座をできる
159
+ * 無料のフォローアップ面談
160
+ * チームで実践→悩み\n
161
+ ↑の相談に乗る
162
+ * 受講後3ヶ月以内、1回限り
163
+
164
+ = サポート(2)
165
+
166
+ * コミット読みの支援
167
+ * OSSとしてツールを公開
168
+ * コミット毎にメールで通知(('note:(diff入り)'))
169
+ * Git、Subversionで使える
170
+ * GitHub、GitLab連携もできる
171
+
172
+ = おしらせ
173
+
174
+ (('tag:center'))
175
+ コードリーダー育成支援\n
176
+ (('note:http://www.clear-code.com/services/code-reader/'))
177
+
178
+ (('tag:center'))
179
+ リーダブルなコードが\n
180
+ 当たり前な文化づくりを支援
181
+
182
+ = クリアコード
183
+
184
+ * クリアなコードが大切
185
+ * クリア == clear == 意図が明確
186
+ * クリアなコードはリーダブルコード
187
+
188
+ (('tag:center'))
189
+ みなさんのチームが\n
190
+ リーダブルコードが当たり前な\n
191
+ チームになることを応援します!
metadata ADDED
@@ -0,0 +1,79 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: rabbit-slide-kou-readable-code-workshop-2015-06-24-conclusion
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
+ - next-step.rab
54
+ - pdf/readable-code-workshop-2015-06-24-conclusion-next-step.pdf
55
+ homepage: http://slide.rabbit-shocker.org/authors/kou/readable-code-workshop-2015-06-24-conclusion/
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: []