みゆっき☆think#10 チーム開発〜脱ぼっちマインド〜

Post on 24-May-2015

9.789 Views

Category:

Technology

1 Downloads

Preview:

Click to see full reader

TRANSCRIPT

チーム開発

~脱ぼっちマインド~2011-12-02 第10回 みゆっき☆Think

チーム開発

~脱ぼっちマインド~~脱ぼっちマインド~

こんばんは

塚つかだあきひろ

・ニコニコ生放送・PHP/Ruby・TDD/アジャイル・レガシーコード改善委員会

@akitsukada

今日やること

今日やることプログラマ視点から

脱ぼっちマインド

プログラマ視点から

脱ぼっちマインド を身につける

今日やらないこと

チームマネジメントアジャイル手法

チームマネジメントやアジャイル手法 的なこと

【脱ぼっちマインド】 (だつ-) [名詞]

日々の開発において常に他人(チームメンバー)を意識すること。また その精神。

【脱ぼっちマインド】 (だつ-) [名詞]

ぼっち

ぼっち※イメージです

ぼっち

ぼっち

脱脱脱

※イメージです

脱 ぼ っ ち脱 ぼ っ ち

( ゚∀゚)o彡゚脱ぼっち!脱ぼっち!

 

( ゚∀゚)o彡゚脱ぼっち!脱ぼっち!

な3つのポイント

via @kwappa

via @kwappa

脱ぼっちバージョン管理

via @kwappa

脱ぼっちコーディング

脱ぼっちバージョン管理

via @kwappa

脱ぼっちコーディング

脱ぼっちバージョン管理

脱ぼっち テスト

【共通ポイント】

自分の意図が常に他人にも分かるようにしておくこと

【共通ポイント】

自分の意図が常に他人にも分かるようにしておくこと*3ヶ月後の自分は他人

脱ぼっちバージョン管理

Git等VCSをチームで使う

(・3・)

...thinking...

!(゚∀゚)

!(゚∀゚)

・コミットログの内容・適切なコミット粒度・ヒストリーの整理  ...etc

コミットログの内容

コミットログの内容

コミットログの内容

コミットログの内容

見ればわかる(^^;

コミットログの内容

コードの変更理由を他人が読んで分かるように。

コミットログの内容

コードの変更理由を他人が読んで分かるように。

脱ぼっちコーディング

分かりやすいことwhat,how,why

what

名前重要

stackを実装してみる#tddbc@dwango

名前重要

how

シンプルに

・(←よりもっと)

 深いネスト・長すぎる節・何もしない 例外処理・複雑な 分岐条件・意味不明な マジックナンバー

これで意味が

分かる方が変

  ( ^ω^)…  (⊃⊂)

翻訳コメント

翻訳コメントも

( ^ω^)翻訳コメントで処理の説明するよりコメントが要らないようにコードを書くお

( ^ω^)翻訳コメントで処理の説明するよりコメントが要らないようにコードを書くお

シンプルに

why

意図を書く

howwhatは

見れば分かる

なぜそう書いたか

はわからない

要件?制約?スキル?好み?

whyこそコメントに書こう!

「ここなんで こうなってるの?」「◯◯さんしか わかりませんよ」

「ここなんで こうなってるの?」「◯◯さんしか わかりませんよ」⇨トラックナンバー ==1状態\(^o^)/

意図を書く

脱ぼっちコーディング力

Upするには

オススメ1物理的に脱ぼっちする=ペアプロ

オススメ2読む

「リファクタリング」「ビューティフルコード」

とか好きなOSS

オススメ3書く

ブログに書く、GitHubに上げる、

OSSに参加する

分かりやすいことwhat,how,why

脱ぼっち テスト

テスト書いてますか

今日から書こう

テストの脱ぼっち効果

テストの効果その1

大規模なWebサービスのコア部分に機能を追加する。自分が作った箇所ではないので不安。しくったら数百万人のユーザに影響がある。金銭的損害も多大。

::テストがないと…

::テストがないと…自分が行った変更で既存の機能が壊れていないか心配で仕方ない。リリース日には祈るしかない。壊れてたら笑うしかない。いやたぶん笑えない。

Edit & Pray ::テストがないと…自分が行った変更で既存の機能が壊れていないか心配で仕方ない。リリース日には祈るしかない。壊れてたら笑うしかない。いやたぶん笑えない。Edit & Pray

Edit & Pray ::テストがないと…自分が行った変更で既存の機能が壊れていないか心配で仕方ない。リリース日には祈るしかない。壊れてたら笑うしかない。いやたぶん笑えない。Edit & Pray

::テストがあれば::テストがあれば

::テストがあれば常に関連するテストを実行し、機能が壊れていないことを確認しながら安心して作業ができる( ^ω^)

::テストがあれば常に関連するテストを実行し、機能が壊れていないことを確認しながら安心して作業ができる( ^ω^)

Cover & Modify

::テストがあれば常に関連するテストを実行し、機能が壊れていないことを確認しながら安心して作業ができる( ^ω^)

::テストがあれば常に関連するテストを実行し、機能が壊れていないことを確認しながら安心して作業ができる( ^ω^)

Cover & Modify

Cover & Modify

::テストがあれば常に関連するテストを実行し、機能が壊れていないことを確認しながら安心して作業ができる( ^ω^)

::テストがあれば常に関連するテストを実行し、機能が壊れていないことを確認しながら安心して作業ができる( ^ω^)

Cover & Modify

GREENRED

テストの効果その他

・テストコードは信頼できる仕様書になる(=そのコードでやりたいことを表現できる)・チームの誰が書いてもVCSで共有して各自で実行できる・テストしやすいコード     ≒良いコード

まとめ(^o^)

【共通ポイント】

自分の意図が常に他人にも分かるようにしておくこと*3ヶ月後の自分は他人

via @kwappa

コーディングwhat,how,

why

バージョン管理コミットログ

テストCover

&Modify

宿題

好きな言語でユニットテストを書いてみる。

via @kwappa

脱ぼっちコーディング

脱ぼっちバージョン管理

脱ぼっち テスト

via @kwappa

脱ぼっちコーディング

脱ぼっちバージョン管理

脱ぼっち テスト

top related