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