古いコードベースを読み解く作業はしばしば「ソフトウェア考古学」と呼ばれます。
ソフトウェア考古学を通してサービスの歴史から当時の設計思想や変化の過程を知ることは、良い設計を体験し、学べる貴重な機会です。
本トークでは、新卒5年目エンジニアである私が、20年以上稼働し続けるWebサービスの改善に向き合う中で試行錯誤し学んだことをお話しします。
PHPではtry-catchを使った例外処理が一般的ですが、「この例外はどのレイヤーで処理すればいいのか?」や「どの場面で例外を使うべきなのかが曖昧だ…」と感じたことはありませんか?
例外の種類や扱い方が曖昧だと、混乱しますよね。
この課題に対するヒントとして、Rustなどの言語で採用されているResult型の考え方があります。
Result型は、失敗が起こり得るということを型として扱い、例外に頼らずエラーを管理する手法です。
これにより、エラーの種類や処理責任が明確になります。
このセッションでは、Result型をPHPに応用する方法を実装例を交えて解説します。
取り上げる内容:
エラー処理を改善するヒントをお持ち帰りください!
「テストがないコードはレガシーコードだ!」
Webアプリケーション開発においてテストコードが書かれることは一般的になってきました。
ですが、テストにかかる時間は適切でしょうか? テストにかかる時間は開発スピードに大きな影響を及ぼします。
本トークでは自動テストを高速化するための考え方やテクニックについてお話します。