rabbit-slide-Piro-readable-code-workshop-2022-11-02a-code-change 2022.11.02
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/how-to-change-code.rab +174 -0
- data/pdf/readable-code-workshop-2022-11-02a-code-change-how-to-look-back.pdf +0 -0
- metadata +78 -0
checksums.yaml
ADDED
@@ -0,0 +1,7 @@
|
|
1
|
+
---
|
2
|
+
SHA256:
|
3
|
+
metadata.gz: e6ebd81c4c255f8014dbaafaf75f2f9d8e949bb47f133c2dd9d23df720a8c951
|
4
|
+
data.tar.gz: 83fd58828ce3c838ca2f3b4fac7f0092d8b2e8f9efe61b2296e11eaa309eef6e
|
5
|
+
SHA512:
|
6
|
+
metadata.gz: 9181f418e83455ff58ae136b7ebbe4b722292a25335194b211fcc65eb1d385229d877eaab8c691af8cd8ef62bfdd022a0474ac690b39c7f0d11008a47dce2851
|
7
|
+
data.tar.gz: 62130a0f765e40fdce8a5f590151c0185da8bf15ef7135ab3a2ba6ba55ca74f3d389096b22444072365fa76eb13fba027f6c0e5a22195f8c2fb8b4b59b893912
|
data/.rabbit
ADDED
@@ -0,0 +1 @@
|
|
1
|
+
how-to-change-code.rab
|
data/README.rd
ADDED
@@ -0,0 +1,32 @@
|
|
1
|
+
= リーダブルコード演習のコードチェンジ
|
2
|
+
|
3
|
+
2022-08-05開催のリーダブルコード演習でのコードチェンジの進め方の説明。
|
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-Piro-readable-code-workshop-2022-08-05-code-change
|
28
|
+
|
29
|
+
=== 表示
|
30
|
+
|
31
|
+
rabbit rabbit-slide-Piro-readable-code-workshop-2022-08-05-code-change.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("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
|
data/config.yaml
ADDED
@@ -0,0 +1,22 @@
|
|
1
|
+
---
|
2
|
+
id: readable-code-workshop-2022-11-02a-code-change
|
3
|
+
base_name: how-to-look-back
|
4
|
+
tags:
|
5
|
+
- rabbit
|
6
|
+
- readable-code
|
7
|
+
presentation_date: 2022-11-02
|
8
|
+
version: 2022.11.02
|
9
|
+
licenses:
|
10
|
+
- CC-BY-SA-4.0
|
11
|
+
slideshare_id: readable-code-workshop-2022-11-02a-code-change
|
12
|
+
speaker_deck_id:
|
13
|
+
ustream_id:
|
14
|
+
vimeo_id:
|
15
|
+
youtube_id:
|
16
|
+
author:
|
17
|
+
markup_language: :rd
|
18
|
+
name: YUKI Hiroshi
|
19
|
+
email: yuki@clear-code.com
|
20
|
+
rubygems_user: Piro
|
21
|
+
slideshare_user: pirooutsiderreflex
|
22
|
+
speaker_deck_user: piroor
|
@@ -0,0 +1,174 @@
|
|
1
|
+
= コードチェンジ
|
2
|
+
|
3
|
+
: author
|
4
|
+
結城洋志
|
5
|
+
: institution
|
6
|
+
株式会社クリアコード
|
7
|
+
: content-source
|
8
|
+
実践リーダブルコード
|
9
|
+
: date
|
10
|
+
2022-11-02
|
11
|
+
: allotted-time
|
12
|
+
10m
|
13
|
+
: theme
|
14
|
+
clear-code
|
15
|
+
|
16
|
+
= 目的
|
17
|
+
|
18
|
+
* 他の人の基準で書かれた\n
|
19
|
+
リーダブルコードを探す
|
20
|
+
|
21
|
+
= おさらい:今日の体験内容
|
22
|
+
|
23
|
+
* ((*まず自分が読み始める*))
|
24
|
+
* 他の人が書いたコードから\n
|
25
|
+
((*リーダブルコードの工夫*))を探す\n
|
26
|
+
(('note:(「読みにくいコード」は探さない)'))
|
27
|
+
* リーダブルの基準を\n
|
28
|
+
他人と共有する\n
|
29
|
+
(('note:(チームのリーダブルコードができる)'))
|
30
|
+
|
31
|
+
= これからやること
|
32
|
+
|
33
|
+
* 他の人のリポジトリを\n
|
34
|
+
forkする
|
35
|
+
* forkしたリポジトリの\n
|
36
|
+
開発を引き継ぐ
|
37
|
+
* リーダブルなコードを探す
|
38
|
+
|
39
|
+
= ポイント
|
40
|
+
|
41
|
+
(('tag:center'))
|
42
|
+
リーダブルじゃないコードより\n
|
43
|
+
リーダブルなコード
|
44
|
+
|
45
|
+
((' '))
|
46
|
+
|
47
|
+
= リーダブルじゃないコード
|
48
|
+
|
49
|
+
* 見つけやすい
|
50
|
+
* 異質
|
51
|
+
* 読んでいると詰まる
|
52
|
+
* 今日のチャレンジ
|
53
|
+
* 気をとられない
|
54
|
+
|
55
|
+
= リーダブルじゃない例
|
56
|
+
|
57
|
+
# _
|
58
|
+
void open_TermList(TermList *list, char *path) {
|
59
|
+
FILE *fp;
|
60
|
+
/* ファイルを開く */
|
61
|
+
if ((fp = fopen(path , "r")) == NULL){
|
62
|
+
fprintf (stderr, "ファイルが開けません\n");
|
63
|
+
fclose(fp);
|
64
|
+
exit(EXIT_FAILURE);
|
65
|
+
|
66
|
+
== ノート
|
67
|
+
|
68
|
+
ここでは、1行目で閉じ丸括弧と波括弧の間にスペースが空いているのに対して、4行目では閉じ丸括弧と波括弧の間にスペースが空いていない。
|
69
|
+
|
70
|
+
= リーダブルなコード
|
71
|
+
|
72
|
+
* 見つけにくい
|
73
|
+
* まわりのコードになじんでいるから
|
74
|
+
* すーっと理解できてひっかからない
|
75
|
+
* 今日のチャレンジ
|
76
|
+
* 意識して見つけよう!
|
77
|
+
|
78
|
+
= リーダブルな例
|
79
|
+
|
80
|
+
# _
|
81
|
+
void open_TermList(TermList *list, char *path) {
|
82
|
+
FILE *fp;
|
83
|
+
/* ファイルを開く */
|
84
|
+
if ((fp = fopen(path , "r")) == NULL) {
|
85
|
+
fprintf (stderr, "ファイルが開けません\n");
|
86
|
+
fclose(fp);
|
87
|
+
exit(EXIT_FAILURE);
|
88
|
+
|
89
|
+
== ノート
|
90
|
+
|
91
|
+
ここでは、先ほどの逆で、1行目と4行目でどちらも、閉じ丸括弧と波括弧の間にスペースが空いている。つまりコーディングスタイルが統一されている。
|
92
|
+
|
93
|
+
= やること
|
94
|
+
|
95
|
+
* 同じ言語の他の人の\n
|
96
|
+
リポジトリーをfork
|
97
|
+
* どこまで進んでいるかを把握
|
98
|
+
* リーダブルコードを探す
|
99
|
+
* 開発を継続(改良)
|
100
|
+
* リーダブルコードを探す
|
101
|
+
|
102
|
+
|
103
|
+
= リーダブルコードを発見!
|
104
|
+
|
105
|
+
* メモに残す
|
106
|
+
* 自分達の元の作業リポジトリーの\n
|
107
|
+
issueに書く
|
108
|
+
* メモの内容
|
109
|
+
* 実際のコードのURL/コード片
|
110
|
+
* リーダブルと思った理由
|
111
|
+
* 見つけたきっかけ
|
112
|
+
|
113
|
+
メモの書き方は先ほどと同じ。
|
114
|
+
|
115
|
+
= メモ例
|
116
|
+
|
117
|
+
# _
|
118
|
+
タイトル:統一されたスタイル ← リーダブルな書き方の名前
|
119
|
+
|
120
|
+
↓本文↓
|
121
|
+
--
|
122
|
+
URL: https://github.com/kou/.../commit/eb02be
|
123
|
+
|
124
|
+
コード:
|
125
|
+
```
|
126
|
+
void open_TermList(TermList *list, char *path) {
|
127
|
+
FILE *fp;
|
128
|
+
/* ファイルを開く */
|
129
|
+
if ((fp = fopen(path , "r")) == NULL) {
|
130
|
+
fprintf (stderr, "ファイルが開けません\n");
|
131
|
+
fclose(fp);
|
132
|
+
exit(EXIT_FAILURE);
|
133
|
+
```
|
134
|
+
|
135
|
+
理由:
|
136
|
+
ファイル内で「)」と「{」の間にスペースを空ける、という
|
137
|
+
スタイルに統一しているので読みやすくなっている。
|
138
|
+
|
139
|
+
= リーダブルコードとは
|
140
|
+
|
141
|
+
* 読む人基準
|
142
|
+
* 「読む人」が 読みやすいなら\n
|
143
|
+
リーダブル
|
144
|
+
|
145
|
+
= どんなコードがリーダブルと言えるか?
|
146
|
+
|
147
|
+
* 読む人(=自分)基準でよい
|
148
|
+
* 自分はどんなコードが\n
|
149
|
+
リーダブルだと思うのか\n
|
150
|
+
言語化してみよう
|
151
|
+
* 凝った書き方を見つけるのは\n
|
152
|
+
目的ではない!
|
153
|
+
|
154
|
+
== ノート
|
155
|
+
|
156
|
+
「えっこんなことでいいの?」と思うようなことでも、まずは書き出してみよう。
|
157
|
+
自分達のチームで実装したときにやっていなかったことは、特にメモに書き出してみよう。
|
158
|
+
|
159
|
+
= 見つけ方のポイント
|
160
|
+
|
161
|
+
(('tag:center'))
|
162
|
+
引き継いだ後\n
|
163
|
+
((*スムーズに続きの作業に\n
|
164
|
+
取りかかれた*))
|
165
|
+
|
166
|
+
→気付きのチャンス
|
167
|
+
|
168
|
+
= ここまでの説明
|
169
|
+
|
170
|
+
腑に落ちましたか?
|
171
|
+
|
172
|
+
= 開始
|
173
|
+
|
174
|
+
14:45まで
|
metadata
ADDED
@@ -0,0 +1,78 @@
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
|
+
name: rabbit-slide-Piro-readable-code-workshop-2022-11-02a-code-change
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 2022.11.02
|
5
|
+
platform: ruby
|
6
|
+
authors:
|
7
|
+
- YUKI Hiroshi
|
8
|
+
autorequire:
|
9
|
+
bindir: bin
|
10
|
+
cert_chain: []
|
11
|
+
date: 2022-11-01 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: 2022-08-05開催のリーダブルコード演習でのコードチェンジの進め方の説明。
|
42
|
+
email:
|
43
|
+
- yuki@clear-code.com
|
44
|
+
executables: []
|
45
|
+
extensions: []
|
46
|
+
extra_rdoc_files: []
|
47
|
+
files:
|
48
|
+
- ".rabbit"
|
49
|
+
- README.rd
|
50
|
+
- Rakefile
|
51
|
+
- config.yaml
|
52
|
+
- how-to-change-code.rab
|
53
|
+
- pdf/readable-code-workshop-2022-11-02a-code-change-how-to-look-back.pdf
|
54
|
+
homepage: http://slide.rabbit-shocker.org/authors/Piro/readable-code-workshop-2022-11-02a-code-change/
|
55
|
+
licenses:
|
56
|
+
- CC-BY-SA-4.0
|
57
|
+
metadata: {}
|
58
|
+
post_install_message:
|
59
|
+
rdoc_options: []
|
60
|
+
require_paths:
|
61
|
+
- lib
|
62
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
63
|
+
requirements:
|
64
|
+
- - ">="
|
65
|
+
- !ruby/object:Gem::Version
|
66
|
+
version: '0'
|
67
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
68
|
+
requirements:
|
69
|
+
- - ">="
|
70
|
+
- !ruby/object:Gem::Version
|
71
|
+
version: '0'
|
72
|
+
requirements: []
|
73
|
+
rubyforge_project:
|
74
|
+
rubygems_version: 2.7.6
|
75
|
+
signing_key:
|
76
|
+
specification_version: 4
|
77
|
+
summary: リーダブルコード演習のコードチェンジ
|
78
|
+
test_files: []
|