進め方¶ ↑
: 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 リーダブルコード力アップ!