コードチェンジ¶ ↑
: author
須藤功平
: institution
株式会社クリアコード
: content-source
SEゼミ2014 - リーダブルコード勉強会2
: date
2014/07/06
: allotted-time
5m
: theme
clear-code
目的の確認¶ ↑
((‘tag:center’))((‘tag:large’)) 参加者のn リーダブルコード力のn レベルアップ
((‘ ’))
将来を重視¶ ↑
# image # src = images/goal.svg # relative_height = 100
プロパティー¶ ↑
: enable-title-on-image
false
目指すこと¶ ↑
((‘tag:center’))((‘tag:large’)) リーダブルコードをn 発見できるようになる
((‘ ’))
目指さないこと¶ ↑
* テクニックをたくさん((*覚える*)) * 難しいプログラムでも\n 実装できるようになる * 速く実装できるようになる
目指すためにやること¶ ↑
コードチェンジ
コードチェンジでやること¶ ↑
(1) 書いて←自己流で本気をだす\n (('note:(午前中にやった)')) (2) 読んで←((*他のコードから吸収*)) (('note:(読まないといけない状況を強制的に作る)')) (3) 書いて←((*↑を活用して成長*))
どうしてこうやるか¶ ↑
(1) 既存のテクニックの習得 * 本から学ぶ * 野生のコードを読む→\n リーダブルコードを発見→\n 吸収 ((*↑を体験*)) (2) 新規にテクニックを発明 * リーダブルでないコードを発見→\n 改善案を発明
やり方¶ ↑
* 交換相手を決める * 交換相手のリポジトリーをfork * ↑を使って開発継続
交換相手の決め方¶ ↑
* 基準 * だいたい同じ状況同士 * 例: 進み具合、環境 * メンターがヒアリング * 積極的に協力して
リポジトリーをfork¶ ↑
* やり方がわからない人は挙手
開発継続¶ ↑
* どこまで進んでいるかを確認 * READMEやlogを参考に\n (('note:(どういう風に書いておけばよかったか考えてみて)')) * ↑から開発を継続
忘れないで¶ ↑
* よいコードを見つけたらメモ * memo.mdに追記して随時push * 後でよいコードを共有する時に使う * 書くこと * コードのURL * よい理由 * 見つけたきっかけ
ポイント¶ ↑
悪いコードよりn よいコード
悪いコード¶ ↑
* 見つけやすい * 異質 * リーダブルじゃない * 過剰に指摘したくなる * 「マサカリを投げてみたい」
マサカリ投げたい症候群¶ ↑
((‘tag:center’))((‘tag:margin-bottom * 2’)) 早めに卒業しましょう
* 必要十分な事実伝達以外の\n 否定的な情報を過剰に含む指摘\n (('note:必要十分な事実伝達がない場合もある')) * 必要十分な事実伝達:\n ○○な理由で××ではなく△△だ\n (('note:本に書いているから、は理由になっていない')) * 優越感を得られる
よいコード¶ ↑
* 見つけにくい * リーダブルだから * すーっと理解できてひっかからない * 今日のチャレンジ * 意識して見つけよう!
発見方法のヒント¶ ↑
* リーダブルコード * ((*読む人*))がリーダブルと思ったコード * 読む人視点が重要 * 交換直後の今が読む人の視点!
忘れないで¶ ↑
* よいコードを見つけたらメモ * memo.mdに追記して随時push * 後でよいコードを共有する時に使う * 書くこと * コードのURL * よい理由 * 見つけたきっかけ