Rabbit Slide Show

実践リーダブルコード - 課題の実装の進め方

2015-03-06

Description

2015-03-06開催の実践リーダブルコードで実装する課題の概要と進め方の説明。

Text

Page: 1

課題の実装の進め方
須藤功平
株式会社クリアコード
実践リーダブルコード
2015-03-06
課題の実装の進め方
Powered by Rabbit 2.1.7

Page: 2

実装する目的
午後の作業の布石
↓
✓ 課題の仕様を理解するため
✓ 読まれることを意識して
書かれたコードを用意するため
✓ リーダブルなコードを書いて!
課題の実装の進め方
Powered by Rabbit 2.1.7

Page: 3

目的じゃないこと
✓ テクニックをたくさん覚える
✓ 難しいプログラムでも
実装できるようになる
✓ 速く実装できるようになる
課題の実装の進め方
Powered by Rabbit 2.1.7

Page: 4

課題の傾向
✓ 技術的に難しいことは
意図的に避けている
✓ 段階的に改良していく
✓ 時間内で実装しきれない分量
✓ すべて実装する必要はない!
課題の実装の進め方
Powered by Rabbit 2.1.7

Page: 5

練習としてやること
仕様1を実装
進め方の詳細はtask.mdを参照
課題の実装の進め方
Powered by Rabbit 2.1.7

Page: 6

メモ
✓ 工夫したことはmemo.mdに書く
✓ memo.mdはリポジトリーにpush
✓ ↓を含める
✓ 実際のコードのURL
✓ リーダブルな理由
課題の実装の進め方
Powered by Rabbit 2.1.7

Page: 7

メモ例
## 統一されたスタイル ← リーダブルな書き方の名前
URL: https://github.com/kou/.../commit/eb02be
コード:
@@ -64,7 +64,7 @@ void add_recipe_to_RecipeList(...) {
void open_RecipeList(RecipeList *list, char *path) {
FILE *fp;
/* ファイルを開く */
- if ((fp = fopen(path , "r")) == NULL){
+ if ((fp = fopen(path , "r")) == NULL) {
fprintf (stderr, "ファイルが開けません\n");
fclose(fp);
exit(EXIT_FAILURE);
理由:
ファイル内でスタイルを統一しているので読みやすくなっている。
課題の実装の進め方
Powered by Rabbit 2.1.7

Page: 8

リーダブルコードとは
✓ 読む人基準
✓ 「読む人」が 読みやすいなら
リーダブル
✓ 読む人の視点を意識してみて
✓ どんな人が読む?
✓ どんな前提知識がある?
課題の実装の進め方
Powered by Rabbit 2.1.7

Page: 9

困ったら1
✓ チューターに相談
✓ チューターは答えを教えない
✓ 一緒に考えてくれる
✓ なんで!?答えを教えてよ!
✓ 講師が禁止している
(参加者が考える機会を奪わないため)
✓ チューターは意地悪ではない
課題の実装の進め方
Powered by Rabbit 2.1.7

Page: 10

困ったら2
✓ まわりの参加者に相談
✓ 答えを教えてもよい
✓ 一緒に考えてもよい
✓ 条件
✓ 答えを教えるときは理由も伝える
(教える参加者が考える機会になる!)
✓ 聞く人は理由も聞く
(考え方を知ると新しい視点でコードを読める!)
課題の実装の進め方
Powered by Rabbit 2.1.7

Other slides

Mroonga!
2015-10-30