流石に全部が携帯からの日記では寂しいので

ちょっと個人的に楽しい話題でも。
XPは流行というよりは、ある程度こなれて、定着しているところには定着して、否定されるところでは忘れられてという存在になりつつある気もしますが、そのプラクティスを実践出来る環境になかった自分としては、今まさにその絶好のタイミングだったりする訳です。
相方もあり、言語理解に関するレベルは彼のほうが上だけど、全体の見通しとか、経験を足せばどっこいの感じですから、なかなかいい相方です。で、当初はXPなんて頭の隅っこにも無かったのですが、気付いてみると彼とペアプログラミングしている時間が結構あったりする訳です。誰に強制される訳でもなく、お互い意識せずそういう時間をだいぶ持てているという事、これこそが「俺達なんかすごいじゃん」と喜べる瞬間だったりする訳です。といえども彼はその事に気付いてないかもしれないし、もしかすると「あぁまた時間の無駄をしてしまった」と考えているかもしれません。でも、ペアプロしている瞬間というのは、ゲームそのものであり、しかもあっという間にバグを見つけ、問題を解決していく、それを経験してしまったからには僕の側はもう戻れない感じです。神の啓示を受けたと言えば大袈裟だけど、そんな感じ。
他にできているというか、できそうなのは、しょっちゅうリリース。周囲には申し訳ないけれども、最低限のバグ取りしたものは即cvsに突っ込んで使ってもらってます。今まで恥ずかしいトラブルは2度あった様な気もしますが、長くて3時間程度で解決し、更にそれに関る他の潜在的問題までも解決できた気がします。
リファクタリングは今私が担当している作業です。今までうっ積したゴミを取り払い、古びたコードに光をとり戻す作業とも言えるかもしれません。今のところ、改良するたびにコードの行数が減っていくという状態が続いています。速度も改善されている様です。また、シンプルになることで見通しもよくなってきています。
現時点で大きな問題は「40時間労働」「ユニットテスト」が残っています。テストに関しては自分がやっている作業があまりにも広範囲に影響を及ぼし、なおかつ本来の動作をなんら変更せず、なおかつ修正する量はほんの少しという変な作業なのでしょうがないのかなと自分を納得させていますが、将来全体がシンプルに理解出来るようになったら、テストしやすさというリファクタリングを実施して、全パーツでちゃんとテストできるようにしていきたいなと思っていたりします。
どうも直接指揮をとっている社員の方は、どうも目新しいものや、興味を引くものをドンドン自分のプロジェクトに取り入れたいみたいで、XP「ふう」の指示や、デザインパターンの「表面的な」採用など、精力的です。しかも現在使用しているソースコードを書き起こしたのは二つの会社と一つの研究所。それぞれ勝手な思いでつくられており、デバッグ支援用のログクラスも3種類存在していたり、ある部分はクラスをここまでやるかという程作っていたり、はたまた別の場所では、まるで関数を知らないCのソースかという程ベタに書いてあり、落とし穴が本当にそこら中にくちを開けています。でもそういう個所を見つけるたびにリファクタリングに取り掛かれるのは楽しい事です。ただユニットテストが即出来る情況ではないのが非常に問題ではありますが。