= 進め方 : author 須藤功平 : institution 株式会社クリアコード : content-source リーダブルコード勉強会 in 筑波大 : date 2015-07-04 : allotted-time 15m : theme clear-code = この勉強会の目的 (('tag:center')) (('tag:margin-bottom * 2')) リーダブルコードに関して\n ↓の2つを知る・体験する * どういうコード? * どうやって書くの? = 目的の理由 複数人開発では\n リーダブル\n コードが\n 役に立つから = 複数人開発 * 仕事での開発 * OSSの開発 * 1人でも年単位で続く開発 * 去年の自分と今年の自分は同じ? = 関係者紹介:企画 (('tag:center'))(('tag:margin-bottom * 2')) この場を作った人たち * 横山さん * 高杉さん * 寺田さん * 今川さん = 関係者紹介:スポンサー (('tag:center'))(('tag:margin-bottom * 2')) 資金面で支援したみなさん * クロノファクトリー * SEゼミ * アジャイルチームを支える会 * 筑波大学 enPiT = 関係者紹介:メンター (('tag:center'))(('tag:margin-bottom * 2')) みなさんのサポート * 社会人 * Ruby本体の開発者が混ざっている * 筑波大学生 * 筑波大学院生 = 関係者紹介:トレーナー (('tag:center'))(('tag:margin-bottom * 2')) 進行と全体を気にかける係 * 須藤 * リーダブルコード(本)の\n 「解説」の著者 = この勉強会の目的 (('tag:center')) (('tag:margin-bottom * 2')) リーダブルコードに関して\n ↓の2つを知る・体験する * どういうコード? * どうやって書くの? = オススメの目的の実現方法 OSSの開発に参加\n (('note:(詳細は勉強会の最後で)')) = 今日の目的の実現方法 * 「知る→体験する」の狙い * 説明→なるほど?(知る) * 実践→実感!(体験する) * ↑の対象 * どういうコード? * どうやって書くの? = どういうコード? 読む人が\n 読みやすいなら\n リーダブル = あなたのイメージは? * 「誰しも」リーダブルだと思う\n コードの書き方がある * すべてのコードを↑な書き方で\n 書ける * ↑ならリーダブルコード = 違う! * 他の人がリーダブルだから\n 自分もリーダブルだと\n 思わなきゃいけないじゃない! * ↑を勘違いしている人が多い = リーダブルコード 読む人が\n 読みやすいなら\n リーダブル = 本にはこう書いている # blockquote # title = 7章 制御フローを読みやすくする p.89 行数を短くするよりも、他の人が理解するのにかかる時間を短くする。 (('note:他の人(読む人)が理解しづらい→本が目指しているものじゃない')) = リーダブルコード 読む人が\n 読みやすいなら\n リーダブル = 今日の目的の実現方法 * 「知る→体験する」の狙い * 説明→なるほど?(知る) * 実践→実感!(体験する) * ↑の対象 * どういうコード? * ((*どうやって書くの?*)) = どうやって書くの? * 読む人のことを考えて書く * 読む人を「想像」は難しい * 読む人の「経験」が(('note:たくさん'))あると簡単 * 書くだけじゃなく読む経験を! * ただし、単に読む経験じゃない * 「読みやすい」の経験が大事 = 「読みやすい」の経験 * 「読みやすい」経験を再現 * →読む人が読みやすいコード (('wait')) (('tag:center')) (('tag:large')) リーダブルコード! = 知ったこと * どういうコード? * 読む人が読みやすいコード * どうやって書くの? * 読みやすかった経験を再現 (('wait')) (('tag:center')) (('tag:large')) 実践だ! = 実践方法の概要 (('tag:center')) (('tag:large')) コードを\n 読まざるを得ない\n 状況で開発 ((' ')) = 実践 (1) 全員共通の課題を用意 (2) (('wait'))課題を実装\n (('note:まだ読む人視点はないけどリーダブルコードで書く')) (3) (('wait'))実装を交換 (4) (('wait'))交換した実装で開発継続 * ↑他の人のコードを読まないと\n 継続して開発できない!\n (('note:「読みやすい」経験を積む→'))\n (('note:それを活かしてリーダブルコードで書く')) = 今日の流れ - 午前 * 10:00- 進め方の説明 * 10:40- 実装 * 12:00- 無料ランチ\n (SEプラスさん提供!) * 13:00- ランチセッション = 今日の流れ - 昼下がり * 13:30- メビュー * 13:40- チェンジして実装 * 15:30- グループふりかえり * 16:10- ふりかえり内容紹介 = メビュー * メビュー?(Mentor's View) * レビューに似ているけど違う * レビュー:問題を見つける * メビュー:メンターの視点を共有 = 今日の流れ - 夕方 * 16:20- まとめ * 16:30- メビュー・質疑応答 * 17:00- アンケート記入 * 17:30- 無料懇親会