PHPerKaigi 2021 3日目

PHPerKaigi2021

https://phperkaigi.jp/2021/

3月26日(金)〜3月28日(日)で開催されていたPHPerKaigiに参加(聴講)していました。

スライドのまとめ

@ucan-labさんによるスライドまとめ 感謝です!

そのコード、フレームワークの外でも動きますか?(77webさん)

WAF(Laravel)に依存したプログラムのフレームワークへの依存性をなくし、依存をなくした後はSymfonyに移行する実演。
git checkoutを使った疑似ライブコーディング。
実際にコーディングしている風景を重視しないのであればとてもよいです。

以下のようなテクニックで依存性をなくしていく
・データベースなど依存するものはインターフェイスにして依存を切る
・例外はドメイン層で独自例外にする
・フレームワークに依存するものはドメインに置かない
・依存する場合はドメイン層ではなくサービス層等としてわける
・インターフェイス、DIをうまく使う
・依存した状態でテストを書き、

理想としてはcomposerでpackage化できるくらいにする

依存を無くす書き方、手順が参考になりました。
フレームワークの移行自体はしないにせよ今度実際に書こう。

無駄な物をなるべく作らないリプレイス戦略(コネヒト高野さん)

大前提として「リライトはほとんど常によくないアイデア」。
リライト前にできるリファクタリングはある程度やったが本丸のアーキテクチャの改善が進まないためリライト。

リライト前にしたこと:コーディング規約、Linter、静的解析、ユニットテストの充実、カバレッジ、コンテナ化(Fargate)、Cakeのバージョンアップ、不要コードの削除、複雑度やカバレッジを元にリファクタリング

スコープを最小にするために最小限のリライトをすすめる
・知る所から始める(コードリーディング、リファクタリング他)
 リライト対象のサービスの知識を深める、サービスをユーザーとして使ってみる等して理解を深める
・とにかく対話する(ユーザーインタビュー)
 実際の利用者と話す。
・共通理解をもつ(ユーザーストーリーマッピング)
 作ってみたら思っていたものと違ったということを避けなければならない

リライト案件を少しでも成功させるための準備と知見が興味深い。

マンガではわからないソフトウェア開発の真理
(田中ひさてるさん)

古典『人間の神話』ベースの(?)お話。
開発チームは工場労働者のチームではなく医師のチームに近い。
外科医+看護師+事務…のような役職分けのイメージ。(なるほど)
均一な労働ではなく、プログラマーは均一な労働リソースとして考えてはいけない。技能は不均一。アジャイル宣言参照。

同じものを見ていても輪郭を認識した人と初見の人では見え方は全然違う。
輪郭を引くのは経験知識によるもの。
経験は反復の中で少しずつ学習し得られる。
→スポーツで言う所の体で覚えろ

印象的なのが最後の言葉で
『コード書こう。巨人の肩に立つには自分の足が必要だよ』
コード書いて経験積んでおかないと先人の知恵も活かせませんよね。確かに。

おわりに(感想他)

知らないことや興味があったこと、現場の知恵等が聞けてほんとに多くの学びが得られました。主催や運営の方に始まり、スピーカー、スポンサー、他参加者の方々本当にありがとうございます。

事前録画でニコ生放送中にDiscordで登壇者の補足が入る体験がすごいよかった。オンラインならではですね。

3日目+リアルタイム+タイムシフトで優先して見たもの分しか書けていないので、1、2日目も追って。



この記事が気に入ったらサポートをしてみませんか?