#和田卓人さん講演会「この先生きのこるために」メモ張り付け
##第一部 講演
###t_wada3つの時代
read時代
コンピュータと出会う
無限1アップ 目の前でやってみせるのが人を一番動かせる
OO厨 構造ばかり考える 完璧主義の呪い
まさーるさん 自動テスト JUnit
写経:プログラムを移しながら読む
技術書の「写経」の方法。 ググるとツイッターでる
ひたすら読む
-------2004/7/1-------
write時代
チームかくたに
アジャイルプロセス
理想のコーチをRPG
ペアプログラミング
テストのない ありえない
-------2005/4/25-------
talk時代
動画で解説]和田卓人の“テスト駆動開発”講座
http://gihyo.jp/dev/serial/01/tdd/
-------2008/2/14-------
渦を作る時期
登壇
ライブコーディング
やってみせるに帰ってきた
java-jaと遭遇
Twitter 一番大きい
ペアプログラミングは楽しい
TDDBC 東京 テスト駆動開発の1日体験 ブートキャンプ
----------未来-----------
一生開発者
1. 身の回りをプログラミングの対象にする
手段の目的化
プログラマの三大美徳:怠惰傲慢短気
プレーンテキストを好む markdown形式 原文はスクレイピング
すべてのバージョン管理 git利用
すべて自動化 harokuにpush
変化を抱擁
書籍の編集を自動化してみたかった
2. 年下から学ぶ
→年下から学べるか否か
3. 過去から未来を知る
技術は振り子
→技術が螺旋 なぜなら我々は成長している
振り子だと思って戻ってきたとき「それはもう知ってる」では差分を見逃す
「なぜ似たものが戻ってきたのか」を考えなければならない
4. 人と流れを見る
組織から個人へ
例、オープンソースの開発が組織から個人へ
githubによって重心があっという間に変わった
便利なものに集まる→集合化していく
個が多く集まると何かが起こる
偉い人標準作る→実装がなくなる
実装→標準が出来る
評価によって磨かれて標準が出来ていく
自分の得意分野を作る
セルフブランディング ≠実力を虚飾する事
=実力を価値ある状態にする事
学ぶ事を学ぶ
技術の学び方を学ぶ
手を動かす
技術者と英語
好きこそものの上手なれ
毎年必ず新しい言語を学ぶ
なぜTDDにこだわるか
ひとりから始められる
テストやTDDはスキルである
才能ではなく習得可能
量は質に転化する
写経 テスト駆動開発入門 Clean Code リファクタリング プログラミング 駆動開発sfsdsっf 2冊絶版
定番書を買って手を動かす
##第二部 ディスカッション
テスト書くのがだるい
誰にでもかけといっている訳ではない
不安に対して書くもの
または後から入ってくる人の為に
テストとドキュメントの違い
動くか動かないかがまず決定的な違い
意図はコメントに書く以外に手段が無い→ドキュメントにする
オープンソース すばらしいプロジェクト
多くが使うフレームワークはドキュメントが増えていく
コードが増えてくるとドキュメントでも説明しなければならない
テストコードとのバランスが重要
コード化はドキュメントを生成
ドキュしジェンでいいのが無いんじゃないのか説
リファレンスしか役に立たないのはよくある
設計の視点には向いていない
何がそれを分ける?
生き残れる人の話か? よく聞こえん
環境
技術者として一生いけるキャリアパスが整ってない 日本では
管理職→復帰する能力が退化→フェードアウト
好転はしてきてる
社会人としての人生よりも開発者としての人生の方が長い
銀の弾丸は出ない
それさえあればうまくいくなんて事は無い
対象は常に変わる 狼男限定の弱点は通用しない
絶対的なものは出ない
TDDが銀の弾丸といった事は無い
ビジュアルプログラミング
プログラミングだと思わずに興味を持ってもらうにはいい
入り口に入らないと始まらない
びじゅ詳しくないがjavascriptは分かりやすい結果が見やすい点が大きい
コンピュータサイエンス
理論
エッセイを読む 技術は理屈だけで生き残る訳でもない
diffの実装読むとおもろい
システム開発の会社はそれほど潰れなかった?
技術者の転職事情
やりたい事が出来るか一択
誰とやりたい
いいテストとは
バグを見つける 一般
いいテストコードとは
読みやすいテストコード
何をやっていることか分かる
なにysってルカ分からんけど 動いてるからおっけ だめ
ピントがしぼれてる
1個の事は1個の事をテストが理想 何やってるかはっきり分かる
asert一個縛りするといい
良いテストは繰り返し可能
途中で止めて書き換えてまた動かし始めるとかだめ
自動化
独立している
ABCなら動くけどACBなら動かないとかよくある
順番に依存しない方が優れている
パラダイムの違う言語を学ぶのがおすすめ
risp
githubの言語利用状況
仕事につなげるとかではない
ie6
再現性がない
時々動かない
再現しないと言い切れる
オープンでないと困る
1週間手強い
食い扶持としてと本能として 両立できるか?
意思との食い違いが生まれたら
プライベートをエゴで満たす
言語と会社の関係が鮮明になってきてる
電子書籍
技術書有利
読んだ事のある本を検索に向いてる
読んだ事の無い本をじっくり読むのには向いてる
初見の本をざっと読むのには向かない
検索される事が前提の本(リファレンスとか前から読む事が前提になってない)
O'Reillyは必ず電子書籍を出してくれる
UIのTDD
UIとTDDは相性が悪い
フラジャイルなテスト
項目が一個増えたら落ちるテストとか