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 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: []