rabbit-slide-kou-readable-code-workshop-2015-03-06-implementation 2015.3.6.0
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-proceed.rab +104 -0
- data/pdf/readable-code-workshop-2015-03-06-implementation-how-to-proceed.pdf +0 -0
- metadata +78 -0
checksums.yaml
ADDED
@@ -0,0 +1,7 @@
|
|
1
|
+
---
|
2
|
+
SHA1:
|
3
|
+
metadata.gz: e35d09e9193a7f7070c2b68c2a2c629e3adf708d
|
4
|
+
data.tar.gz: 239ed55aa6ab3567f92e79811e5ef30eb0252008
|
5
|
+
SHA512:
|
6
|
+
metadata.gz: 39a8bdc6d77c841954773a89e1bf9c770ecc0a821a12c6a3765699199d561733dc8770733b5a9698f52428164ee9aaf19e33ba119cdca4d8345d033a80c61663
|
7
|
+
data.tar.gz: 27ef9d87cbf2e8ff0f1634348da8370ab5d232e37d501cb2a0b2af2ff9b25cc46763c7a69c445691b48378a9d33b680d0a8b5696dcdb9589ed636f852d8e8fe6
|
data/.rabbit
ADDED
@@ -0,0 +1 @@
|
|
1
|
+
how-to-proceed.rab
|
data/README.rd
ADDED
@@ -0,0 +1,32 @@
|
|
1
|
+
= 実践リーダブルコード - 課題の実装の進め方
|
2
|
+
|
3
|
+
2015-03-06開催の実践リーダブルコードで実装する課題の概要と進め方の説明。
|
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-03-06-implementation
|
28
|
+
|
29
|
+
=== 表示
|
30
|
+
|
31
|
+
rabbit rabbit-slide-kou-readable-code-workshop-2015-03-06-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-2015-03-06-implementation
|
3
|
+
base_name: how-to-proceed
|
4
|
+
tags:
|
5
|
+
- rabbit
|
6
|
+
- readable-code
|
7
|
+
presentation_date: 2015-03-06
|
8
|
+
version: 2015.3.6.0
|
9
|
+
licenses:
|
10
|
+
- CC BY-SA 4.0
|
11
|
+
slideshare_id: readable-code-workshop-2015-03-06-implementation
|
12
|
+
speaker_deck_id:
|
13
|
+
ustream_id:
|
14
|
+
vimeo_id:
|
15
|
+
youtube_id:
|
16
|
+
author:
|
17
|
+
markup_language: :rd
|
18
|
+
name: Kouhei Sutou
|
19
|
+
email: kou@clear-code.com
|
20
|
+
rubygems_user: kou
|
21
|
+
slideshare_user: kou
|
22
|
+
speaker_deck_user: kou
|
data/how-to-proceed.rab
ADDED
@@ -0,0 +1,104 @@
|
|
1
|
+
= 課題の実装の進め方
|
2
|
+
|
3
|
+
: author
|
4
|
+
須藤功平
|
5
|
+
: institution
|
6
|
+
株式会社クリアコード
|
7
|
+
: content-source
|
8
|
+
実践リーダブルコード
|
9
|
+
: date
|
10
|
+
2015-03-06
|
11
|
+
: allotted-time
|
12
|
+
5m
|
13
|
+
: theme
|
14
|
+
clear-code
|
15
|
+
|
16
|
+
= 実装する目的
|
17
|
+
|
18
|
+
(('tag:center'))
|
19
|
+
午後の作業の布石\n
|
20
|
+
↓
|
21
|
+
|
22
|
+
* 課題の仕様を理解するため
|
23
|
+
* 読まれることを意識して\n
|
24
|
+
書かれたコードを用意するため
|
25
|
+
* リーダブルなコードを書いて!
|
26
|
+
|
27
|
+
= 目的じゃないこと
|
28
|
+
|
29
|
+
* テクニックをたくさん覚える
|
30
|
+
* 難しいプログラムでも\n
|
31
|
+
実装できるようになる
|
32
|
+
* 速く実装できるようになる
|
33
|
+
|
34
|
+
= 課題の傾向
|
35
|
+
|
36
|
+
* 技術的に難しいことは\n
|
37
|
+
意図的に避けている
|
38
|
+
* 段階的に改良していく
|
39
|
+
* 時間内で実装しきれない分量
|
40
|
+
* ((*すべて実装する必要はない!*))
|
41
|
+
|
42
|
+
= 練習としてやること
|
43
|
+
|
44
|
+
仕様1を実装\n
|
45
|
+
(('note:進め方の詳細はtask.mdを参照'))
|
46
|
+
|
47
|
+
= メモ
|
48
|
+
|
49
|
+
* 工夫したことはmemo.mdに書く
|
50
|
+
* memo.mdはリポジトリーにpush
|
51
|
+
* ↓を含める
|
52
|
+
* 実際のコードのURL
|
53
|
+
* リーダブルな理由
|
54
|
+
|
55
|
+
= メモ例
|
56
|
+
|
57
|
+
# _
|
58
|
+
## 統一されたスタイル ← リーダブルな書き方の名前
|
59
|
+
|
60
|
+
URL: https://github.com/kou/.../commit/eb02be
|
61
|
+
|
62
|
+
コード:
|
63
|
+
@@ -64,7 +64,7 @@ void add_recipe_to_RecipeList(...) {
|
64
|
+
void open_RecipeList(RecipeList *list, char *path) {
|
65
|
+
FILE *fp;
|
66
|
+
/* ファイルを開く */
|
67
|
+
- if ((fp = fopen(path , "r")) == NULL){
|
68
|
+
+ if ((fp = fopen(path , "r")) == NULL) {
|
69
|
+
fprintf (stderr, "ファイルが開けません\n");
|
70
|
+
fclose(fp);
|
71
|
+
exit(EXIT_FAILURE);
|
72
|
+
|
73
|
+
理由:
|
74
|
+
ファイル内でスタイルを統一しているので読みやすくなっている。
|
75
|
+
|
76
|
+
= リーダブルコードとは
|
77
|
+
|
78
|
+
* 読む人基準
|
79
|
+
* 「読む人」が 読みやすいなら\n
|
80
|
+
リーダブル
|
81
|
+
* 読む人の視点を意識してみて
|
82
|
+
* どんな人が読む?
|
83
|
+
* どんな前提知識がある?
|
84
|
+
|
85
|
+
= 困ったら1
|
86
|
+
|
87
|
+
* チューターに相談
|
88
|
+
* チューターは((*答えを教えない*))
|
89
|
+
* 一緒に考えてくれる
|
90
|
+
* なんで!?答えを教えてよ!
|
91
|
+
* 講師が禁止している\n
|
92
|
+
(('note:(参加者が考える機会を奪わないため)'))
|
93
|
+
* チューターは意地悪ではない
|
94
|
+
|
95
|
+
= 困ったら2
|
96
|
+
|
97
|
+
* まわりの参加者に相談
|
98
|
+
* 答えを教えてもよい
|
99
|
+
* 一緒に考えてもよい
|
100
|
+
* 条件
|
101
|
+
* 答えを教えるときは理由も伝える\n
|
102
|
+
(('note:(教える参加者が考える機会になる!)'))
|
103
|
+
* 聞く人は理由も聞く\n
|
104
|
+
(('note:(考え方を知ると新しい視点でコードを読める!)'))
|
metadata
ADDED
@@ -0,0 +1,78 @@
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
|
+
name: rabbit-slide-kou-readable-code-workshop-2015-03-06-implementation
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 2015.3.6.0
|
5
|
+
platform: ruby
|
6
|
+
authors:
|
7
|
+
- Kouhei Sutou
|
8
|
+
autorequire:
|
9
|
+
bindir: bin
|
10
|
+
cert_chain: []
|
11
|
+
date: 2015-03-06 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-03-06開催の実践リーダブルコードで実装する課題の概要と進め方の説明。
|
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
|
+
- how-to-proceed.rab
|
53
|
+
- pdf/readable-code-workshop-2015-03-06-implementation-how-to-proceed.pdf
|
54
|
+
homepage: http://slide.rabbit-shocker.org/authors/kou/readable-code-workshop-2015-03-06-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.2.2
|
75
|
+
signing_key:
|
76
|
+
specification_version: 4
|
77
|
+
summary: "実践リーダブルコード - 課題の実装の進め方"
|
78
|
+
test_files: []
|