Yokohama.groovy #5 を開催してきた #yokohamagroovy


(写真:横浜タネマキに所蔵されている『ジョジョの奇妙な冒険』コミックス全巻。)


今回で5回目を数えたYokohama.groovy。毎回3〜5人程度の集まりではありますが、緩やかに、且つ時には脱線しつつもその時々のテーマでディスカッションしたり写経しながらあ〜だこ〜だ言い合いながらも楽しく続けております。

開催会場は横浜タネマキ。従来であれば2週間振り…となるのですが、今回は土曜日にウェブサイト高速化勉強会でここに訪れているので、3日振りとなります。



この日は割と早く会場に着いたのでまだ読了していなかった『ジョジョの奇妙な冒険』第5部(個人的には読了していないのは後この5部だけ!)を読み終えようと勇んでみたものの、開始20時まで1冊しか読めず(-_-)w 10/8(月)にはジョジョ展TOKYOに出掛ける予定なので、その日までにはどこかで第5部も読み終えたい所ではあります(笑)


今回第5回目の対象範囲は『3.9 制御構造』から。それぞれのトピックはそこまでがっつり深入りすること無くサラッと進んだ感じなので今回は参考にしたリンクとか一言コメントでお茶を濁す感じで。コード的なものは他の参加者がきっと書いてくれるでしょう(と期待)。

3.9 制御構造

Switch文
  • GroovyのSwitch文はJavaのものとは異なり、機能的にはif-else文の連鎖となる。
  • isCase()を定義する事により、Switch文に適用可能。Switch文記述が簡単になる。
for文
  • 通常for文/拡張for文が利用可能。
  • inや範囲等が使える。
return文
  • 特定条件下でreturn文を省略可能。省略出来るけど混乱招きそう?書籍にも特定ケースを除いては明示的に書いた方が良いって書いてはある。
  • 横道的に、話はセミコロンの省略についても及ぶ。セミコロンを省略してメリットがあるのかどうか?(打鍵量が少なくなる以外に)

3.11 正規表現処理

  • Javaを元にしている。
  • 使いやすくするためのGDKメソッドが追加、サポートが提供されている
  • PatternやMatcher等の組み合わせを意識させないような設計となっている

正誤表はこちら。

3.12 Javaとの上位非互換性

  • BigDecimalの部分、これはやはり嬉しい対応。
  • 『==』の意味合いの違い、別言語でこうならまだしも、同じJVM系統の言語で異なるって、ねぇ?


…と言った感じで第3章完了。


また帰り掛け、『TDDBC(TDD Boot Camp)』の後の『ブースト(Boost)的なイベント』について幾つか出たので備忘録的にメモしとく。思い付き入りまくりなのでその辺は御容赦を。

  • (規模感的に)従来のTDDBCまで大きくは無くて良いので、ペース的にもうちょっと頻繁に出来ると良いね
  • Bootし終わった人が何か出来る事を。
  • 言語、環境、コンテキストを絞って少人数で深掘りしていくのはどう?
    • Java/Groovy辺りでDB周りとか、またはブラウザテスト周りとか
    • Bootした人前提(してなくても良いけどハードルは少し上がるかも?)
    • DB周りを例に取る:DB周りのテストについて共通的なお作法、原則等を学ぶ/各種環境で入門・ベースに当たる部分を実践してみる/色々な環境フレームワークでそれを試してみる、の繰り返しとか
    • 講師は特に設けない。そのジャンルのテストに詳しい人、造詣が深い人を読んでレクチャーしてもらうのはアリかも知れない
    • 言語を複数対象範囲とすると収集付かなくなる可能性があるのでこのテーマの場合は(絞るのは)仕方ないかも?
  • レガシーコード改善BootCampについて
    • 良く話には挙がるけど...
    • 何より、『材料』を用意するのが大変。(オープンソースを利用する、というのは手の一つではあるけど)
    • いっその事、改善用のコードを作っちゃえば?
      • 何かのイベントを設けて、そこでペアプロなりでコードを組んでもらう(敢えて隙を見せる、敢えて汚く書いてみるとか)
      • 自分達が作ったコード以外のコードを改善するとかどうだろう

あと帰宅して個人的にふと思いついたのでその案の切れっ端もここに書き留めておく。

  • レガシーコード改善について
    • 書籍を読んだ人、レガシーコード改善とは何たるかを心得ている人前提
      • 『お題』的に、『汚いコード』(問題)と『綺麗なコード』(解答例)を作成
      • 規模は自由。数行のコード断片でも良いし、ちょっとした規模の機能群でもOK
      • テーマは書籍『レガシーコード改善ガイド』からチョイス、そのテーマで問題・解答コードを記述。

…と、ここは書籍を持っておらず書籍目次を見ながら思い付きで書いてますけど(笑)、このボリューム感、BootCampで広範をカバーするのはやはり一苦労なのかなぁ。


従来のTDDBCのボリュームやクオリティを求めるとなると相当大変そうだけど、『とりあえず小さくやってみよっか』位のノリなら何とかなりそうな気がしなくもないので、小さな所から転がして行けると良いな〜と思います。



次回は切り良く第4章からスタート。書籍ではビルダー推しな感じでページを割いていますが、次回以降のYokohama.groovyではそこに加えてそれ以外のパッケージについても目ぼしい所は深掘りして理解を深めていく予定です。基本的に表の上から下へ、grapeパッケージから順番に見ていく感じです。日程は10/15(月) or 10/16(火)のいずれかになる予定です。(※ちなみにこちらをご覧の方で、この集まりに参加してみたい、という方は居るのでしょうか?居るとすればどれ位?まぁ横浜タネマキの座席埋まり度合等にもよるのでそこまで多くの参加増は厳しそうではありますが…)