はじめまして!
ZEALSで Rails & Reactを書いている中村です!
4月に復活したGotanda.rbのイベントがZEALSオフィスにて開催されたので、その様子をお伝えします! ZEALSエンジニアの福本がGotanda.rbのOrganizerであるため、今回ZEALSオフィスで開催する運びとなりました!
復活第一回目のイベントについての記事もありますので、Gotanda.rbの雰囲気を知りたい方はぜひこちらもご覧ください!
今回のテーマは"リファクタリング"
なかなかに渋いテーマですね!
- そもそも、リファクタリングとは何か
- リファクタリングをいつやるのか
- リファクタリングを(チームで)どのように行うか
などなど、人によって内容に個性が出そうなテーマだと感じました!
それでは早速見ていきましょう!
LT大会
最初の登壇者はZEALSでRailsエンジニアをしているtakkunです!
写真ではわかりづらいですが、Railsのエラーメッセージが書かれたTシャツを着ています!
Railsへの愛を感じますね。笑
登壇資料
www.slideshare.net
スライドに紹介されているgem一覧
僕もZEALSにJoinするまで、これらのGemは知らなかったです!
2つのgemをうまく使えば、使われていないコードを綺麗に削除できますね!
またスライドの中の言葉で
「コードを追加するのは簡単だが、消すのは難しい」
って言葉が心に響きますね。
普段のコーディングから意識したい言葉です!
弊社takkunに続いて、3名+飛び込みで1名の計5名の方が登壇されました!
資料をアップロードして下さっている方もいらっしゃいますので、ぜひ見てみてください!
RubyMineでリファクタリング
エンジニアの皆さんの中には、お気に入りのエディタはカスタマイズして使っている方が多いと思います。
そんな中一度でも使ったら戻れなくなると噂のIDE RubyMineの機能を最大限に生かしたリファクタ方法を紹介されていました。
個人的にすごくインパクトがあったのは、一括リネーム(ファイル名・メソッド名・変数名)でした!
すごい…!!
RubyMineは有料のIDEですが、30日お試しで使用できるとのことです!
クラウドワークスリファクタリングチーム「バグハンター」
クラウドワークスさんでリファクタ専門チーム作った時のお話です。
リファクタリングをモンスターハンターになぞらえて「分析した弱点部位に対してどのような武器を使って、どんな戦術で対処していったか」を発表されていました。
ZEALSでもtakkunがデザインパターンやオブジェクト指向の本を読みリファクタした、という話をしていました。
こちらの発表でも設計パターンを用いたお話があったので、その辺りももっと勉強しようと改めて思いました。
また、発表の中で「人を育てるコード」って言葉がすごい素敵で印象に残っています。
一覧画面のFatController/Modelになる理由と向き合ってみた
indexアクションが汚くなりがちな箇所に対しPORO(Plain Old Ruby Object)に切り出したり、生SQLを利用したり、ViewModelで定義してみたり...
問題点に対して様々な方法でリファクタしてみた、というお話でした。
原因に対していくつかの修正パターンを持っておく、というのはリファクタに限らず常日頃から意識したいと思いました!
dockerで動いている プロジェクトのrubocop解析 vim編 + おまけ
最後はGotanda.rb Organizerであるマツリカの隅田さんの飛び込みLTでした!
前回もjoeさんが飛び込みLTをされていましたが、飛び込みが頻発するのは面白いですね。笑
「Docker+Vimでrubocopのリアルタイム警告を出すことができるようになったお話」と「OSS活動を続けてRubyMineのAll Products PackをGetした」というお話でした。
All Products Packを入手するには色々な条件とOSS活動を3ヶ月以上継続する必要があるそうですが、興味のある方は是非チャレンジしてみてはいかがでしょうか!
交流会
LT大会後は、お酒を片手にお菓子をつまみながら参加者の方々と和やかに交流会の流れになりました。
こういう機会に社外の方といろんなお話ができるのはいい刺激になると思いました!
おわりに
今回は、各社向き合わなければならないリファクタリングというテーマについて掘り下げた会でした!
今後もZEALSはGotanda.rbをはじめ、開発者コミュニティを盛り上げていければと思います!
皆さんもよろしければ、ZEALSのオフィスにいつでも遊びに来てくださいね!