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