= 進め方 : author 須藤功平 : institution 株式会社クリアコード : content-source SEゼミ2015 - リーダブルコード勉強会 : date 2015-06-06 : allotted-time 15m : theme clear-code = SEゼミの立場一覧 * 参加者(みなさん) * スポンサー * 運営 = 立場別SEゼミの目的 * 参加者 * (('wait'))OSSを開発したい! * スポンサー * (('wait'))一緒に働きたい人をみつけたい! * (('wait'))一緒にOSSを開発するとわかりそう! * (('wait'))→((*参加者のOSS開発参加を支援*)) * 運営:↑をサポートしたい! = 参加者のふるまい方 * 選ばれている!と気負わない * 目的(OSSの開発)に集中すればよい * スポンサー * 本来の参加者に興味 * 仮面をかぶらない * 入社→ミスマッチ→お互いに不幸!\n (('note:仮面をかぶり続けられるならアリ'))\n (('note:「m_seki ロールプレイングゲーム」で検索')) = スポンサー * たくさんいる * 勉強会中 * 企業は気にしない * 担当メンターの人から学ぶ * ランチ・懇親会 * 様々な企業の様々なメンターと交流 * →今まで知らなかった((*新しい視点*))! = スポンサー(1) * クラウドワークスさん * エス・エム・エスさん * 万葉さん * スマートエデュケーションさん * クックパッドさん = スポンサー(2) * ビズリーチさん * VASILYさん * Treasure Dataさん * ピクシブさん * 楽天さん = スポンサー(3) * CROOZさん * ミラクル・リナックスさん * フリークアウトさん * ぐるなびさん = トレーナー (('tag:center'))(('tag:margin-bottom * 2')) 須藤 * 運営 * 進行と全体を気にかける係 * リーダブルコード(本)の\n 「解説」の著者 = メンター * 参加者のサポート係 * 現役超優秀エンジニア * スポンサー企業または運営 * ((*新しい視点*))を与えてくれる * →困ったり悩んだら積極的に相談 = この勉強会の目的 (('tag:center'))(('tag:large')) 参加者の\n リーダブルコード力の\n レベルアップ ((' ')) = 目的の理由 OSSの開発に\n 役立つから = 役立つ場面例 (('tag:center')) (('tag:margin-bottom')) Pull Requestを送るとき * 開発者にリーダブルなコード * (('wait'))→なるほど、こうしたいのか! * (('wait'))→話が進みやすい = 参加者の目的の再確認 * SEゼミ * OSSを開発したい! * リーダブルコード勉強会 * リーダブルコード力のレベルアップ * ↑はOSSの開発に役立つから = 目的の実現方法案 (1) テクニックを知る * (('wait'))本を読む(すでに読んだはず!) * (('wait'))教えてもらう (2) テクニックを見つける * (('wait'))((*他の人のコードを読む*)) = テクニックを知る * メリット * すぐにレベルアップできる * まとまっているから * デメリット * レベルアップに上限がある * 明文化されていないテクニックは知れない = テクニックを見つける * デメリット * すぐには見つけられない * まとまっていないから * メリット * レベルアップに上限がない * 世の中には野生のリーダブルコードが\n たくさんあるのだ! = テクニック発見パターン (1) よいテクニックを盗む * この書き方読みやすいな! * →自分のコードに取り入れよう! (2) よいテクニックを発想する * この書き方読みにくいな… * →こうすると読みやすくなるな! = 目的の実現方法 (1) テクニックを知る * 本やWebサイトで学んで (2) ((*テクニックを見つける*)) * この勉強会で体験して = 実現方法の概要 (('tag:center')) (('tag:large')) コードを\n 読まざるを得ない\n 状況で開発 ((' ')) = 具体的な実現方法 (1) 全員共通の課題を用意 (2) 課題を実装 (3) 実装を交換 (4) 交換した実装で開発継続 * ↑他の人のコードを読まないと\n 継続して開発できない! = 今日の流れ - 午前 * 10:00- 進め方の説明 * 10:40- 実装 * 12:00- 無料ランチ\n (フリークアウトさん提供!) * 13:00- スポンサーのLT = 今日の流れ - 昼下がり * 13:30- メビュー * 13:40- チェンジして実装 * 15:30- グループふりかえり * 16:10- ふりかえり内容紹介 = 今日の流れ - 夕方 * 16:20- メビュー * 16:50- まとめ * 17:00- 質疑応答 * 17:30- アンケート記入 * 18:00- 無料懇親会 = 参考情報 OSSの開発と\n リーダブル\n コード = リーダブルコード? (('tag:center')) リーダブル\n コードは\n どんなコード? = リーダブルコード 読む人が\n 読みやすいなら\n リーダブル = リーダブル * 読む人違えばリーダブルも違う * OSS毎に読む人が違う * →OSS毎にリーダブルも違う! * どうすれば… = ヒント:OSSの開発 (('tag:center')) (('tag:margin-bottom')) コードを読むことは当たり前 * オープンソースの定義(2/10): * 「((*ソースコードを含むこと*))」 * コードを読めること * →オープンソースの特徴の1つ (('note:オープンソースソフトウェアとは「オープンソースの定義」を'))\n (('note:満たしたライセンスが設定されているソフトウェアのこと')) = OSSのリーダブルを知る方法 コードを読む\n ↓\n リーダブルが\n わかる = 今日やること (1) コードを読む (2) テクニックを見つける (3) ↑を活かしてコードを書く (('tag:center')) ↓\n OSSの開発で当たり前のことをやる\n ↓\n リーダブルコード力アップ!