rabbit-slide-Piro-readable-code-workshop-2022-11-02a-code-change 2022.11.02

Sign up to get free protection for your applications and to get access to all the features.
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: []