RAKUS Developers Blog | ラクス エンジニアブログ

株式会社ラクスのITエンジニアによる技術ブログです。

【Meetup】大規模SaaS、レガシーを吹き飛ばすPHPer実践テクニック / 自動化、機械化、静的解析

f:id:tech-rakus:20200812140926p:plain

はじめに

技術広報のitoken1013です。こんにちは。
いつもラクスのイベントにご参加いただいている方々、本当にありがとうございます!
今回は8月1回目のMeetup『レガシーを吹き飛ばすPHPer実践テクニック』 について、コンテンツを紹介させていただきます!

イベントテーマ概要

今回は『レガシーを吹き飛ばす』という強力なイベントタイトルを掲げさせていただき、リリースから10年以上の以下サービスに携わるエンジニア3名が登壇させていただきました。
これらのサービスは多くのお客様に長くご利用いただき、現在でも新たな機能追加を進めています。
その一方で長い開発で蓄積しているレガシーな面とも向き合う必要性が高まっており、開発速度と品質を落とさないための取り組みが求められています。
今回はそんな取り組みの中でも、より実践的なテクニックを紹介させていただきました。

ちなみにご参加の方へ利用言語をお聞きしたところ、(当然ではございますが…)大半がPHP使いの方でした。
また、登壇者と同じようにレガシーシステムの開発に携わっている方もいらっしゃり、今回のイベントで得たテクニックを早速活用したいと言っていただける場面もありました。
ラクスではPHP中心のイベントを頻繁に開催しておりますので、今後もイベントにご参加いただけますと嬉しいです!

発表の紹介

それでは3名のエンジニアによる発表を簡単に紹介させていただきます!

「指摘の見える化」SonarQubeを使って、新規不良コードをデビューさせない仕組みづくり

楽楽販売の開発に携わる凪から、静的コード解析ツール「SonarQube」を使ったコードレビューの改善についての発表となります。
主にレビューを中心に担当する凪ですが、日に日に増大するレビュー負荷という課題を踏まえ、静的コード解析ツールの導入を決定しました。
数あるツールからSonarQubeを選択した背景、実際に運用を開始してからの効果について詳細に語られています。
サービスの急拡大に伴ってレビューが追い付かない!、という悩みをお抱えの方には是非ご参考にしていただきたい内容です。

speakerdeck.com

PHP標準関数との闘い

PHPのバージョンアップ(7.1 から 7.3)に伴うcount()関数の仕様変更にまつわる、ラクス最古参のサービスであるメールディーラー(2001年4月リリース)でのエピソードを加納より紹介させていただきました。
リリースよりおよそ20年、メールディーラーではありとあらゆる場所でcount()関数を呼び出しており(呼び出し数は、ぜひ資料をご覧ください…)、あるべき論だけでは語れない戦いが繰り広げられることとなりました。
さらには開発体制に起因する新たな問題も生まれてしまい…という苦労を抱えたエピソードになっております。

言語やフレームワークの仕様変更は、ソフトフェア開発では避けては通れない戦いです。
今回は歴史を抱えたサービスを支えるための戦いではありますが、ご紹介のノウハウはどの開発でも活用できるはずです。
ぜひ多くのエンジニアに役立てていただければと思います。

speakerdeck.com

13年続くレガシーサービスを安全にリリースし続けるための、E2Eテストとカバレッジツールを利用したテスト戦略について

リリースから13年が経過した配配メールにおける、吉元が取り組むテスト戦略をお話させていただきました。
名著のレガシーコード改善ガイドでは『自動テストが無いコードはレガシーコードである』と触れられていますが、吉元の携わる配配メールではまさに自動テスト環境が存在せず、高い品質を保ったリリースに課題を抱えていました。

www.amazon.co.jp

「プロダクトコードの複雑性」や「計画の不確実性」といった課題を抱えていた開発チームですが、これらに向き合った「重要機能テストの自動化」や「テスト駆動開発」などの戦略が語られています。
詳細で実践的な内容であるため、ご自身の開発現場でも活用できそうと感じていただけるはずです。

speakerdeck.com

おわりに

レガシーに向き合うラクスエンジニアの取り組み、いかがだったでしょうか。
簡単な課題は1つも存在しませんが、多くのお客様にご利用いただける期待に応えるため、日々レガシーを吹き飛ばすテクニックに取り組んでいます。

さて、次回のMeetup(8/25開催予定)は『新サービス』がテーマです!
すでに100人以上の方に申し込みいただけており、大イベントになりそうな予感がしています。
rakus.connpass.com

またPHPに関するイベントも8月中に2回開催予定です。
こちらもたくさんのご参加をお待ちしています!

rakus.connpass.com

rakus.connpass.com

Copyright © RAKUS Co., Ltd. All rights reserved.