JJUG CCC で JavaからRubyへをゲットした!
WEwLC#5 読書会参加
10/11、サイボウズ・ラボさんで。
今回は予習の時間が取れなくて、自分の担当分以外はあまり読めずじまい。
なので、自分担当分のChapter23について、ちょっと思ったことなど。
どこかぶっ壊してないか気になりますよね
コードを書いたり修正したりしている時、他に影響ないかな?と思う事がしばしばあります。
と、いうか、いつもです。
一方、他への影響を全く気にせず、地雷を埋めていくツワモノもいます。はたまたその一方で、地雷を踏みまくる運命にあるかのような人もいます。その探査率(被爆率)は、時として驚くべきものがあります。
このChapter23のテーマは、
予想外のところをぶっ壊さないようにする為の、あるいは、
その不安を和らげ、自信へとつなげる、いくつかの注意点について。
で、そんなあなたにぴったりです。
ざっくりまとめてしまうと、以下の4点
1.そのキーストロークは振る舞いを変えるものか?
今の自分の行動が、ソフトウェアに影響を与えているかどうか、敏感に感じ取ろう。つか、それを感じ取るためのテストをかこう。テストからのフィードバックがないと、「大丈夫かなぁ?」って不安が募ってとても疲れるよ。
2.ひとつだけ相手にしろ。
あちこち手を出さないで、ひとつだけやるのがいい。二兎を追わない。浮気心は以下のように鎮める。
反省など
kawanishi さんがまた炸裂したので、ちょっとでもあやかろうとぎりぎりまでスライドをいじっての発表となりました。反省点。
- 急ぎ足になってしまった
- 重要なところと補足的なところの緩急がなかった
- 次にどんなスライドが出てくるのか、自分でもよくわかんなくなっていた
- 最後はカバレッジの哀しい話
でも、意外とうけたっぽいので、よしとしよう。
おかしを持って行けたのもよかった。
持参したおやつは、http://www.kusanomi.co.jp/shirotae/で購入
懇親会では..
ジョジョを読んでいないなんてこの業界で生きていけないよ?くらいのありがたい洗礼を、t-wada様やsuga様からいただきました。
勇気を持って発した「クソ以下の臭いがするぜぇ〜」は、0.5秒で、「それ、ゲロだから」と修正される始末。
機会をつくって読まなければと思った次第。*1
いつも幹事をしてくださるせとさん、会場を提供していただいているサイボウズ・ラボさんありがとうございました。
あと、id:tenkomaさん、お誕生日おめでとうございました。ワインおいしかったです。いつもmacに僻んでごめんなさい。
次回、11/8だと友人結婚式と重なってしまって参加できないなぁ。うぅ。
*1:後日、何巻まであるのか見てみたら・・・結構いっぱい出てる・・・。
ゴザ先輩のお祭り
せっかく良いこと言ったはずなのに、そのすぐしたで「あれ」とか載っちゃって恐いですね。
はてなブックマーク - bose999の試験管の中の話
WEwLC#4 読書会参加
http://www.fieldnotes.jp/legacy-code/
9/14、サイボウズ・ラボさんで。
それにしても、ラボさんに行くたびに椅子が欲しくなる。が、今回は意地を張って大きな椅子には腰掛けず。
Chapter12
色々修正あるんだけど、頑張りどころはどこかなぁ?という話。
「ここ押さえとけ」というPinch Pointが新たに登場します。このChapterでは、変更が与える影響をまとめて面倒みることのできる要所をPinch Pointとして、ここを軸に色々*1やったらどうか、という展開。
本のや議論の展開からは外れますが、あまりにも細かい単位で*2テストコードが書かれていて*3、もうどうにもメンテできなくなることがあると思います。で、ある地点を過ぎると、「我々はJUnitに夢を見過ぎた」とか言ってメンテストップ宣言が出されることもあるかもしれません。実際、自分はテスト熱に見舞われた時期があって、その時書かれた有象無象のテストをPinch Pointの観点から整理出来ていればなぁ、と、今も悔やまれます。
そういうわけで、新たにテストを書く場合も、既存の手に負えないテストコードたちを整理する場合も使える考え方だと思います。
Chapter13
次回、id:t-wadaさんによって熱弁がふるわれる予定。
Chapter14
ライブラリが牙を剥く時。の、話。
薄皮でもいいからラップしておくといいよ。直接呼んだらいつか痛い目みるよ。いいから信じろ。と書かれています。
ロイヤリティの話以外でも、プロジェクトの最後の最後、たとえばパフォーマンスの問題とかで「そのライブラリ、やっぱ無し」の英断が下されるかもしれませんしね。異議なし。
Chapter15
APIを呼んでるだけですけど、このままじゃダメですか?という話。
APIの部分って他チームや他社さんとの協業だったりするので、Chapter14同様、要注意。
DI等で挿げ替え可能にしておくのがやっぱり良いですね。
ラップする場合、is-aとhas-aのどちらでやるかの暑い熱い議論が行われました。もう一回ちゃんと読む。
Chapter16
やんなきゃいけない。よくわかってないんだけど。という時の話。
何だか新人の時の事を思い出しました。あの時は膨大な数と行数のC言語ソースをテキストエディタでgrepして、処理順でエクセルにまとめたりしていましたが、最近のIDEの進歩はすごいですね。
ではなくて、マーカとか使ってローテクで考えを整理するのも有効だよ、という話です。
自分はちょくちょくやっていると思います。メモ帳は奮発して、RHODIAの大きめのやつを使っています。デュアルディスプレイ環境であれば、アプリにメモ書きして参照しながらできるでしょうが、そんなわがままの言えない環境では、紙に頼るしかないのです。RHODIAお勧めです。
Chapter17
失われゆく構造の話。
徐々に失われていく構造を維持するには、語り尽くすしかないだろうという内容。
実際、id:n_shuyo さんが語り尽くしてくれました。すばらし。
Listen to conversations about your design.
の一言が全てだと思うのですが、現実はどうなんだろう。designについて、どれくら話されているんだろう?フレームワークの使い方とかに終始してしまっている気がする。
Chapter18
テストコードが行く手を阻む話。
タイトルから期待したのとはちょっと違くて、クラス名とかファイルの置き場所とか、そっちかよ、という内容。
ふむふむ。なるほど。と、しか言えない。
でも、クラス名や置き場所の指針がちゃんとしているのはありがたいことだと思う。そこで悩まなくてよいのはうれしい。
Chapter19
OOじゃないけど、どうする?という話。
WEwLC Ch19「うちのプロジェクトはOOじゃないもん」最終節に「CだってOOだよ」という、そのまま はてダに引き写したら炎上必至なネタが書いてあって超ウケる。
http://twitter.com/shuyo/statuses/909045979
とは知らずに、後半2つを担当。これどうしたものかと相当悩んだのは良い思い出。wikiに書いてそのまま読んだのでは炎上してしまいそうだったので、慣れないスライド作成を行い、本番に臨みました。が、「超ウケる」ところ以外はなんだかグダグダの急ぎ足になってしまい、反省しきり。あと、新しい方への配慮も全然できなくて、これも反省。
内容としては、筆者のテストに対する執念が感じられました*4が、サンプルがサンプルなので、「それはないだろ」「キモい」という予想通りのDisり結果と相成りました。
懇親会
秋刀魚の値段にいちゃもんをつけていたような気がしないでもないですが、あんまり覚えていないです。ごめんなさい。
id:tenkoma さんが九州っこで、何だかライバル視したのは覚えています。
徹夜準備組と見受けられる人(自分含む)が、撃沈していたのも何となく覚えています。お疲れ様です。
今回もとても楽しい読書会でした。
id:t-wada さんのプレイを見ることもできましたし、新しい方も来てくれました。大満足です。
主催者のせとさん、会場を準備してくれた id:n_shuyo さん、ありがとうございました。
参加者の皆様、お疲れ様でした。次回こそ、お菓子を持っていきたいと思います。
iPod touch と nano の新しいの出た
夜更かしして、Let's Rockの速報サイト(速報:アップル「Let's Rock」イベント 新iPodラインナップ発表 - Engadget 日本版)やUSTREAMを見ていました。
iPodに関しては事前に流れていた情報通り。MacBookに関しては触れられず。
USTREAMのチャットでGPS!GPS!と連呼している人がいたのだけれど、GPSは搭載されず。残念。
ボリュームボタンとスピーカーが追加されたのはうれしい。
詳しくは以下のサイトへ。さすがGIGAZINEはやいなぁ。
新しい「iPod touch」登場、今度はスピーカーを内蔵 - GIGAZINE
ついに歴代iPodの中で最も薄くて新デザインの「iPod nano」登場、全9色 - GIGAZINE
価格が思ったほど下がらなかったのは痛いけれど、家庭内稟議を上げてみるか...!