みなさん、こんにちは!
最近はウマ娘のトレーナー業に勤しんでいるサーバーサイド開発部(PHP)のやまごし(id:ymgn)です。
去年の11月頃に一度Creators Noteへ記事を書かせていただいたのですが、それが社内でも評判が良かったのか
今回Chatworkの10周年記念で行われる
lp.chatwork.com
Chatwork DEV DAY 2021
の開催にあたってCreators Noteへまた何か記事を書いてもらえないか?とお声がけを頂いたので馳せ参じました。
余談(宣伝)ですが、去年書いた記事はこちらになります。参考にしていただけるとChatworkが更に便利に使えるようになるので ぜひ一度ご覧いただけると嬉しいです!
creators-note.chatwork.com
さて、最近の私の近況としては、8月に入社してから現行のChatworkのシステムの改善や保守などをメインで担当するチームの一員となって、既存のChatworkのいろいろな箇所に触れながら様々な知識を学んでいき、またたく間に約半年以上が経過しました。
そんな中、最近では新機能などの開発を進めるとともに、保守運用観点でのリファクタリングなども日々おこなっています。
今回はChatworkが急成長を続けるうちに生まれてしまった、技術的負債を一つ解消した話をお伝えできればと思います。
ざっくりした結論
既存のライブラリを継承するのは可能な限りやめよう!(可能であれば委譲しよう)
はじめに
Chatworkはこの度、2021年3月1日にめでたく10周年を迎えることができました。これもひとえに皆様の応援のおかげです。
Chatworkというプロダクトの最初は社内ツールとして開発されていたという歴史があり、今現在でも当時作られた独自フレームワークの上で10年以上急成長しながら開発が続けられているプロダクトになります。
日々、我々のようなエンジニア達によって改善は続けられているものの、急成長を続けてきた中で開発リソースや時間などを考慮した上でその時点での最適解を通ってきていることもあり、今となって世知辛い状態になっている箇所も数多くあります。
その中でも技術的負債となってから約4年もの間、放置され続けていた問題の討伐に成功したので、それがどういったものだったかをお伝えさせていただこうと思います。
続きを読む