Talk in Japanese at PHP Conference Japan 2021
Track Name:
Track2
Short URL: https://joind.in/talk/f1a20
(QR-Code (opens in new window))
今では当たり前となった、自身の知識や成果をGitHubに公開するということですが、今回は業務内で実際に書いたコードを、問題なく自然な形で公開する一連の流れを私の体験をもとにしてシミュレートしてみます。
今回はファイルのウイルスチェックをする機能がLaravelで書かれた業務コード上に直接実装されている状態を想定してみます。ウイルスチェック自体は業務とは何の関係もないため、何とか機能を分離してメンテナンスしやすくすることを考えます。
まず初めにやることは、InterfaceとDIを駆使して、ウイルスチェック機能を業務コードから切り離しです。
ここからウイルスチェック機能をいったん外部コードとして公開し、Composerを使って業務コードに逆輸入するように修正します。これで、業務に直接関係ないコードをリポジトリの外に追い出せるとともに、自身の実績を外部に公開することができます。
最後に、Laravelとの接続部分とウイルスチェックの本体実装を分離し、特定のフレームワークとの依存性も排除し、より広範囲に使える状態を実現します。
この発表を通して、InterfaceとDIの活用方法や、Composerによる依存性管理の便利さを再認識いただけると幸いです。
Comments
Comments are closed.
確かに、業務で書くコードにも汎用的な処理はありそうで、それを外部に公開するのはいい方法だと思いました。
その際にInterfaceに切り出して最終的にcomposerで導入できるようにするところまで説明されていて参考になりました。
実際のプロダクトでコードを切り出すのは、いろいろ考えないといけないので難しいと思いますが、
まずはプライベートで書いているコードで、パッケージに切り出せそうなものはないか、を意識してコードを書いてみようと思いました。
自分が普段やってることと共通点が多くて「そうそれ!」ってなりました。ちゃんと分離できると採用目的だけじゃなくメンテ性上げるのにも効果あるのでオススメです!(体験済です)