Rabbit Slide Show

リーダブルコード演習のコードチェンジ

2022-11-02

Description

2022-08-05開催のリーダブルコード演習でのコードチェンジの進め方の説明。

Text

Page: 1

コードチェンジ
結城洋志
株式会社クリアコード
実践リーダブルコード
2022-11-02
コードチェンジ
Powered by Rabbit 2.2.1

Page: 2

目的
✓ 他の人の基準で書かれた
リーダブルコードを探す
コードチェンジ
Powered by Rabbit 2.2.1

Page: 3

おさらい:今日の体験内容
✓ まず自分が読み始める
✓ 他の人が書いたコードから
リーダブルコードの工夫を探す
(「読みにくいコード」は探さない)
✓ リーダブルの基準を
他人と共有する
(チームのリーダブルコードができる)
コードチェンジ
Powered by Rabbit 2.2.1

Page: 4

これからやること
✓ 他の人のリポジトリを
forkする
✓ forkしたリポジトリの
開発を引き継ぐ
✓ リーダブルなコードを探す
コードチェンジ
Powered by Rabbit 2.2.1

Page: 5

ポイント
リーダブルじゃないコードより
リーダブルなコード
コードチェンジ
Powered by Rabbit 2.2.1

Page: 6

リーダブルじゃないコード
✓ 見つけやすい
✓ 異質
✓ 読んでいると詰まる
✓ 今日のチャレンジ
✓ 気をとられない
コードチェンジ
Powered by Rabbit 2.2.1

Page: 7

リーダブルじゃない例
void open_TermList(TermList *list, char *path) {
FILE *fp;
/* ファイルを開く */
if ((fp = fopen(path , "r")) == NULL){
fprintf (stderr, "ファイルが開けません\n");
fclose(fp);
exit(EXIT_FAILURE);
コードチェンジ
Powered by Rabbit 2.2.1

Page: 8

リーダブルなコード
✓ 見つけにくい
✓ まわりのコードになじんでいるから
✓ すーっと理解できてひっかからない
✓ 今日のチャレンジ
✓ 意識して見つけよう!
コードチェンジ
Powered by Rabbit 2.2.1

Page: 9

リーダブルな例
void open_TermList(TermList *list, char *path) {
FILE *fp;
/* ファイルを開く */
if ((fp = fopen(path , "r")) == NULL) {
fprintf (stderr, "ファイルが開けません\n");
fclose(fp);
exit(EXIT_FAILURE);
コードチェンジ
Powered by Rabbit 2.2.1

Page: 10

やること
✓ 同じ言語の他の人の
リポジトリーをfork
✓ どこまで進んでいるかを把握
✓ リーダブルコードを探す
✓ 開発を継続(改良)
✓ リーダブルコードを探す
コードチェンジ
Powered by Rabbit 2.2.1

Page: 11

リーダブルコードを発見!
✓ メモに残す
✓ 自分達の元の作業リポジトリーの
issueに書く
✓ メモの内容
✓ 実際のコードのURL/コード片
✓ リーダブルと思った理由
✓ 見つけたきっかけ
メモの書き方は先ほどと同じ。
コードチェンジ
Powered by Rabbit 2.2.1

Page: 12

メモ例
タイトル:統一されたスタイル ← リーダブルな書き方の名前
↓本文↓
--
URL: https://github.com/kou/.../commit/eb02be
コード:
```
void open_TermList(TermList *list, char *path) {
FILE *fp;
/* ファイルを開く */
if ((fp = fopen(path , "r")) == NULL) {
fprintf (stderr, "ファイルが開けません\n");
fclose(fp);
exit(EXIT_FAILURE);
```
理由:
ファイル内で「)」と「{」の間にスペースを空ける、という
スタイルに統一しているので読みやすくなっている。
コードチェンジ
Powered by Rabbit 2.2.1

Page: 13

リーダブルコードとは
✓ 読む人基準
✓ 「読む人」が
リーダブル
コードチェンジ
読みやすいなら
Powered by Rabbit 2.2.1

Page: 14

どんなコードがリーダブルと
言えるか?
✓ 読む人(=自分)基準でよい
✓ 自分はどんなコードが
リーダブルだと思うのか
言語化してみよう
✓ 凝った書き方を見つけるのは
目的ではない!
コードチェンジ
Powered by Rabbit 2.2.1

Page: 15

見つけ方のポイント
引き継いだ後
スムーズに続きの作業に
取りかかれた
→気付きのチャンス
コードチェンジ
Powered by Rabbit 2.2.1

Page: 16

ここまでの説明
腑に落ちました
か?
コードチェンジ
Powered by Rabbit 2.2.1

Page: 17

開始
14:45まで
コードチェンジ
Powered by Rabbit 2.2.1

Other slides