PHPカンファレンスで話してきた
先々週のことですが、PHPカンファレンス2017で話してきました。初PHPカンファレンス。楽しかった!ひさびさにPHPの話をいっぱいできてよかったです。
会社のブログにもゆきみねがまとめてくれてます。 techlog.voyagegroup.com
発表資料はこちら。
セッション動画も載ってます。
セッション内容としてはレガシーなシステムの段階的改善です。「こんなケース、ありませんか?」というのが今回の問い。会場で聴いていただいた方々にも多く該当される方がいたようで、このテーマで話をしてよかったなあと思いました。
コードを書くとき、すでにあるコードを変更することのほうが多いはずです。そして価値を出している。価値を出しているコードを、僕は尊敬しています。なのでそれらをより良くしていくためにどうしたらよいか?というのがこの1年間ほど取り組んでいたテーマの1つでした。
大きくなってしまったコードベースを読み解くのは大変です。コードを読むことは、書くことよりも時間を使います。コードは読まれる時間のほうが長いのです。Readabilityは最も重要です。ですがすでにReadabilityが低いコードである場合にはどうしたらよいのでしょう。小さい規模であればリファクタリングして地道につぶしていくのもいいかもしれませんが、それだと時間がかかりすぎてしまうかもしれません。
最近読んでいる本にレガシーソフトウェア改善ガイドがあります。レガシーソフトウェア改善ガイドの話は発表中にはしていないのですが、おすすめです。レガシープロジェクトの改善をどう進めていくかという観点から体系立てて書かれています。
リファクタリングかリライトするかというのは、常に悩ましい問題です。しかし、リプレースという選択肢もあります。リファクタリングするのでもリライトするのでもなく、リプレースをする。書き直さずに、置き換える。サードパーティ製のソフトウェアで代替えできるのであれば、それは素晴らしいことです。
今日公開した ajito.fm/10 でもPHPカンファレンスについて話したので、よかったら聴いてみてください。 ajito.fm
カンファレンス運営者のみなさま、スポンサーのみなさま、そして参加者のみなさま、どうもありがとうございました!