【ネタ】秀丸強化計画

10/27の夜に社内勉強会「開発環境勉強会:超エディタ論争」が開催されました。
9月に自称PHPer最強のVimerが入社し、社内のEmacserの心に火をつけたのが開催のきっかけだったようですが、当のVimerさんは体調不良で不参加と言う中、[twitter:@yattom]さんも見学に来られるとのことで強硬開催されました。


今回は、Vimer代表、Emacser代表、NetBeans代表がそれぞれネタを持ち寄って発表するとのことだったので、コンテンパンに叩きのめされるのを覚悟でネタで「秀丸代表」を務めさせていただきました(^_^;)


エディタ論争と言うことでエディタの話題だけでしたが、開発環境はエディタだけでなく、OS、テスト環境、ブラウザ、ブラウザに入れるプラグイン、PC周りに置かれたガラケースマホなどの実機など、開発を効率化するために必要なあらゆる環境が今後の勉強会で議論されればうれしいなと思いました。


例えば、ブラウザ一つとっても用意するブラウザの種類、バージョン、入れるプラグインや、設定するショートカット、マウスジェスチャーなどで相当生産性が違うと思います。社内を見回しても人によって「揃え方」に特徴がよく出ていて、意外と何に重点を置いているかわかるものです。逆に何もしてない人は生産性が残念な場合があるかもしれませんね。


キーボードやマウスなど入力デバイスも好みの分かれるところで、「入力デバイス論争」も興味を持ってなかった人には良いきっかけになりそうですね。やっぱり普段使う道具にはこだわりと愛着を持ってもらいたいものです。
ちなみに私は、キーボードはテンキーなしでは財務系の仕事に支障をきたすので「Topre REALFORCE 108UBK SJ08B0」を、マウスは「MS Exploer Mouse 1362」とトラックボール「Kensington Expart Mouse White」をアプリケーションによって使い分けてマウス。ww


さて、秀丸ネタですが、14年くらい前に初めてFreeBSDを触った時に買った本に紹介されていたエディタがなんと「ee」orz。。。その数年後にViやEmacsは触ったのですが、うまくとっつけず、cp > ftp download > 秀丸 > ftp upload > cpなんてことをしてました。その後さすがにViでいろいろするようになったのですが、今のように仮想環境なんて豊富に用意できない時代にサーバーで直接作業するなんてことをめったにしなかったため、自然と秀丸力が磨かれていったわけです。


秀丸は来年20周年を迎える有名エディタで、弊社でも60ライセンスくらい保有しています。いまだにバージョンアップとメンテナンスが続けらて現在のバージョンは8.10で今年の7月にリリースされたものです。
マクロ連携機能も年々強力になり、環境を固めれば下手なIDEより高速で使い勝手もよくできます。


私の年齢で今から他の環境を使いこなすには学習コストが高い気がして(食わず嫌い。。。)なかなか踏み込めませんが、今回のみんなの発表をみていろいろ触ってみたくなりました。


ちなみに今回の私の発表では、秀丸でもここまでリズムよく開発できるというデモです。主言語がPHPであればxampp入れて、ローカルのドキュメントルートを直接編集してブラウザを通した確認や、SeleniumuIDE連携などは問題なくできますが、PHPUnitsubversion連携まで一本化して、開発がスタートしたら秀丸とブラウザ以外行き来せずに済む環境を作れることを目的としました。
秀丸svn連携はそれなりに検索でhitしたのですが、PHPUnit連携って見かけないですね。。。


TDDをしていると開発にはリズムが非常に大事であることが分かります。レガシーコード改善ガイドにも書かれていますが「実行に0.1秒以上かかるものは単体テストと呼ばない」とのことなので、コードを少し書いて単体テストを実行したいと思って実行結果が分かるまでに1秒以上かけるわけにはいきません。
※実はデモ前日に[twitter:@t_wada]さんとペアプロしてた時に、テストコードとプロダクトコードの切り替えにマウスを使ってタブを切り替えていたら「リズムが悪い」とけなされたwwので、テストコードを非アクティブなタブから探してアクティブにするマクロと、プロダクトコードがアクティブな状態でテストコードを実行するマクロをデモ当日に作りました。ww


他には秀丸の話ではありませんが、単体テストユニットテスト、コントローラーテストをする際にCI環境にあるフィクスチャーを使わず、独自のフィクスチャーを用意してすべてMySQLのHEAP型のテーブルに収めることで結果を高速に得るようにしています。
テスト結果を高速に得る努力をしていると、モックに対する戦略なども合理的になり検査のスコープを明確にできます。


当日のスライドをアップしたところ、「デモだらけでわからん!」とお叱りを受けたので、デモ動画を作りました。orz
デモ動画も初めは見づらかったので、HD画質で作りましたので興味のある方は、PCでフルスクリーンモードでご覧ください。


秀丸最強化計画
View more presentations from Kiichi Kajiura



※PCでフルスクリーンモードでご覧ください。


最後に、次回の勉強会も楽しみにしてます!!