rabbit-slide-Piro-readable-code-workshop-2022-11-02a-implementation 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: 492b5615d1af6b0fa07b0aba5769332c63a5a7a84d047d54ee0fc97375599764
4
+ data.tar.gz: 79ff2f059fb41e35e6dc10755dbd8591470d96a5f0daefe30eb5474218ae4dd1
5
+ SHA512:
6
+ metadata.gz: 95fa2b2ec2b5b40501f2b17101e88c45235166eaff2a1774fb5f25ff413a0336b086d1fa3d036796737424b1585e5eb77b13168b8572df0b6a7f69fc80c3a022
7
+ data.tar.gz: 4788f8e124a180efc583c0715a348531e6519dd00d4b8b46c6067911653e74b5d668fb13deb41fee059aec7dcbc85cc91099f4f1d9b4283b94e61aa6e615a2d7
data/.rabbit ADDED
@@ -0,0 +1 @@
1
+ implementation.rab
data/README.rd ADDED
@@ -0,0 +1,32 @@
1
+ = リーダブルコード演習 - 課題の実装の進め方
2
+
3
+ 2022-08-04開催のリーダブルコード演習で実装する課題の概要と進め方の説明。
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-2022-08-04-implementation
28
+
29
+ === 表示
30
+
31
+ rabbit rabbit-slide-kou-readable-code-workshop-2022-08-04-implementation.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-implementation
3
+ base_name: how-to-proceed
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-implementation
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,140 @@
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
+ * 課題の仕様を理解する
19
+ * 「読まれることを意識して\n
20
+  書かれたコード」を用意する
21
+ * ((*リーダブルなコード*))を書こう!
22
+
23
+ (('note:(後半戦への布石)'))
24
+
25
+ = 目的じゃないこと
26
+
27
+ * テクニックをたくさん覚える
28
+ * 難しいプログラムを実装する
29
+ * プログラムを速く実装する
30
+ * 高性能なプログラムを実装する
31
+ * 奇抜な方法で目立つ
32
+
33
+ = 課題の傾向
34
+
35
+ * 技術的に難しいことは\n
36
+ 意図的に避けている
37
+ * 段階的に改良していく
38
+ * 時間内で実装しきれない分量
39
+ * ((*すべて実装する必要はない!*))
40
+
41
+ = メモを書く
42
+
43
+ * 工夫したことはissueに書く
44
+ * 1つのissueに1つの工夫でOK
45
+ * メモに含めること
46
+ * 実際のコードのURLか\n
47
+ コード片(差分)
48
+ * リーダブルな理由
49
+
50
+ = メモ例
51
+
52
+ # _
53
+ タイトル: 統一されたスタイル ← リーダブルな書き方の名前
54
+
55
+ ↓本文↓
56
+ --
57
+ URL: https://github.com/kou/.../commit/eb02be
58
+
59
+ コード:
60
+ ```
61
+ @@ -64,7 +64,7 @@ void add_term_to_TermList(...) {
62
+ void open_TermList(TermList *list, char *path) {
63
+ FILE *fp;
64
+ /* ファイルを開く */
65
+ - if ((fp = fopen(path , "r")) == NULL){
66
+ + if ((fp = fopen(path , "r")) == NULL) {
67
+ fprintf (stderr, "ファイルが開けません\n");
68
+ fclose(fp);
69
+ exit(EXIT_FAILURE);
70
+ ```
71
+
72
+ 理由:
73
+ ファイル内でスタイルを統一しているので読みやすくなっている。
74
+
75
+ = リーダブルコードとは
76
+
77
+ * 読む人基準
78
+ * 「読む人」が読みやすいなら\n
79
+ リーダブル
80
+ * 読む人の視点を意識してみて
81
+ * どんな人が読む?
82
+ * どんな前提知識がある?
83
+
84
+ = リーダブルにするヒント
85
+
86
+ * 要件が増えて、それまでと\n
87
+ ((*前提が変わった*))とき
88
+ * 新しい要件に\n
89
+ 惰性ややっつけで対応すると\n
90
+ リーダブルでなくなりやすい
91
+
92
+ = リーダブルにするヒント
93
+
94
+ * × とりあえず\n
95
+   こう書き足したら動く
96
+ * ○ 新しい要件に基づいて\n
97
+   コードを見直し、\n
98
+   適切な書き方に改める
99
+ * 「どうだったらリーダブルか」\n
100
+ をその都度考え直してみよう
101
+
102
+
103
+
104
+ = 実装に困ったら1
105
+
106
+ * 講師に相談
107
+ * 講師は((*答えを教えない*))
108
+ * 一緒に考えてくれる
109
+ * 答えを教えない理由
110
+ * 参加者が考える機会を奪わないため
111
+ * 一緒に考えると新しい視点が増える
112
+
113
+ = 実装に困ったら2
114
+
115
+ * 他の人に相談
116
+ * 答えを教えてもよい
117
+ * 一緒に考えてもよい
118
+ * 条件
119
+ * 答えを教えるときは理由も伝える\n
120
+ (('note:(教える参加者が考える機会になる!)'))
121
+ * 聞く人は理由も聞く\n
122
+ (('note:(考え方を知ると新しい視点でコードを読める!)'))
123
+
124
+ = 実装開始
125
+
126
+ * 仕様
127
+ * task.md
128
+ * 練習
129
+ * 講師がtask.mdを読んで説明
130
+ * 仕様1を各自で実装
131
+ * 実装できたらチューターに声掛け\n
132
+ →仕様2以降実装
133
+
134
+ = ここまでの説明
135
+
136
+ 腑に落ちましたか?
137
+
138
+ = 開始
139
+
140
+ 12:15まで
metadata ADDED
@@ -0,0 +1,78 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: rabbit-slide-Piro-readable-code-workshop-2022-11-02a-implementation
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-04開催のリーダブルコード演習で実装する課題の概要と進め方の説明。
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
+ - implementation.rab
53
+ - pdf/readable-code-workshop-2022-11-02a-implementation-how-to-proceed.pdf
54
+ homepage: http://slide.rabbit-shocker.org/authors/Piro/readable-code-workshop-2022-11-02a-implementation/
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: []