コードチェンジ

: author

須藤功平

: institution

株式会社クリアコード

: content-source

実践リーダブルコード

: date

2015-03-06

: allotted-time

5m

: theme

clear-code

目的

リーダブルなn コードを探す

おさらい:今日の体験内容

* 「((*まず自分が読み始める*))」
* 「((*リーダブルコードを探す*))」\n
  (('note:(読みにくいコードは今は置いておく)'))
* 「リーダブルの基準を共有」

ポイント

((‘tag:center’)) リーダブルじゃないコードよりn リーダブルなコード

((‘ ’))

リーダブルじゃないコード

* 見つけやすい
  * 異質
  * 読んでいると詰まる
* 今日のチャレンジ
  * 気をとられない

リーダブルなコード

* 見つけにくい
  * まわりのコードになじんでいるから
  * すーっと理解できてひっかからない
* 今日のチャレンジ
  * 意識して見つけよう!

やること

* 他の人のリポジトリーをfork
* どこまで進んでいるかを把握
  * リーダブルコードを探す
* 開発を継続(改良)
  * リーダブルコードを探す

リーダブルコードを発見!

* メモに残す
* 既存のmemo.mdに追記してpush
* ↓を含める
  * 実際のコードのURL
  * リーダブルな理由
  * 見つけたきっかけ

メモ例

# _
## 統一されたスタイル ← リーダブルな書き方の名前

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);

理由:
ファイル内でスタイルを統一しているので読みやすくなっている。

リーダブルコードとは

* 読む人基準
  * 「読む人」が 読みやすいなら\n
    リーダブル
* 読む人(=自分)基準でよい
  * 自分はどんなコードが\n
    リーダブルだと思うのか\n
    言語化してみよう
  * 凝った書き方を見つけるのは\n
    目的ではない!