= コードチェンジ : author 須藤功平 : institution 株式会社クリアコード : content-source リーダブルコード勉強会 in 筑波大 : date 2015-07-04 : allotted-time 5m : theme clear-code = 目的の確認 (('tag:center')) (('tag:margin-bottom * 2')) リーダブルコードに関して\n ↓の2つを知る・体験する * どういうコード? * どうやって書くの? = 知ったこと * どういうコード? * 読む人が読みやすいコード * どうやって書くの? * 読みやすかった経験を再現 = やろうとしていること (1) コードを読んで (2) リーダブルコードを((*見つける*)) (3) ↑を活かしてコードを書く = 現状 (1) 全員共通の課題を用意←Done (2) 課題を実装←Done (3) 実装を交換←((*これから*)) (4) 交換した実装で開発継続 = どうして交換するのか * コードを読まざるを得なくなる * コードを読まずに開発継続できない * 自分も実装した仕様 * 仕様は理解済み→読む敷居は低い * 違う視点での実装を読むことになる * 新しい発見があるはず = やり方 * 交換相手を決める * 交換相手のリポジトリーをfork * ↑を使って開発継続 = 交換相手の決め方 * 基準 * だいたい同じ状況同士 * 例: 進み具合、環境 * メンターがヒアリング * 積極的に協力して = リポジトリーをfork デモして\n 見本を見せる = 開発継続 * どこまで進んでいるかを確認 * READMEやlogを参考に\n (('note:(どういう風に書いておけばよかったか考えてみて)')) * ↑から開発を継続 = 忘れないで * リーダブルコードを発見→メモ * issueにコメント * 書くこと * 実際のコード * リーダブルな理由 * 見つけたきっかけ = ポイント 悪いコードより\n リーダブルな\n コード = 悪いコード * 見つけやすい * 異質 * リーダブルじゃない * 過剰に指摘したくなる人がいる * 指摘するならリーダブルなコードを書いてPull Request\n (('note:コミットメッセージによくなる理由を書く'))\n (('note:例: https://github.com/BLThunder1991/BLThunder1991-sezemi-2014-readable-code-2/pulls?q=is%3Aclosed')) = リーダブルなコード * 見つけにくい * リーダブルだから * すーっと理解できてひっかからない * 今日のチャレンジ * 意識して見つけよう! = 発見方法のヒント * リーダブルコード * ((*読む人*))が\n 読みやすいなら\n リーダブル * 読む人視点が重要 * 交換直後の今が読む人の視点! = 忘れないで * リーダブルコードを発見→メモ * issueにコメント * 後で共有する時に使う * 書くこと(('note:(例はissueに書いてある)')) * コード・理由・見つけたきっかけ (('note:メンターへ:メビューで使うのでメンターもメモろう')) (('note:メンターへ:たまに「どんなメモ書いた?」と聞いて課題をこなすことではなくリーダブルコードを書くことに参加者の注意を向けてみよう'))