Upgrade to Pro — share decks privately, control downloads, hide ads and more …

mixed 型なんてけしからんと社内チャットでつぶやいたら炎上した / phpkansai 2018 LT mixed typehint dis

mixed 型なんてけしからんと社内チャットでつぶやいたら炎上した / phpkansai 2018 LT mixed typehint dis

https://wiki.php.net/rfc/mixed-typehint を見かけて、もし mixed 型が言語仕様として入ったら、折角 PHP7 になってより型安全になった PHP にカオスが再来すると危惧する気持ちを社内チャットに投げたら、同じく否定派だけでなく、案外肯定的な反響もあった話。

Yu Kawanami

July 14, 2018
Tweet

More Decks by Yu Kawanami

Other Decks in Technology

Transcript

  1. mixed 型なんてけしからんと
    社内チャットでつぶやいたら
    炎上した
    @kawanamiyuu
    PHP カンファレンス関西 2018 LT

    View full-size slide

  2. 自己紹介
    ● かわなみゆう
    ● @kawanamiyuu
    ● 株式会社ラクス
    ● 業務では Swift とか Java
    ● Swift は PHP っぽくて好き
    ● 社内チャットに PHP のニュースをつぶやく係
    2

    View full-size slide

  3. 4
    https://twitter.com/PHPRFCBot/status/942954599748583424

    View full-size slide

  4. 5
    https://wiki.php.net/rfc/mixed-typehint

    View full-size slide

  5. けしからん!
    8

    View full-size slide

  6. けしからん!
    ※ この発言は個人の見解であり、所属する組織の公式見解ではあ(ry
    9

    View full-size slide

  7. RFC の主張
    ● PHP 7 以降、スカラー型をはじめとして、ほとんどの引
    数や戻り値にちゃんと型を指定できるようになった
    ● でも、mixed 型がないから、完全に typehint された一
    貫性のあるコードになっていない
    10

    View full-size slide

  8. ● 静的解析が簡単になる
    ● これまでの暗黙的な(typehint がない) mixed 型のエイ
    リアスでもある
    11

    View full-size slide

  9. なぜ、けしからんと思ったか
    ● 結局なにも型を指定しないのと一緒じゃん
    ● PHP 7 になってスカラー型とか入って、型に対してより
    安全(安心)になったのに、流れに逆行しているのでは
    ● 型を指定したいなら、ちゃんと1つに決めたい(設計した
    い)
    12

    View full-size slide

  10. ● あいまいじゃない世界に憧れていたぺちぱー(私感)が
    結局、mixed でツラみを増す未来しかみえない
    ● 一度言語仕様に入ってしまえば、そう簡単には消せな

    13

    View full-size slide

  11. そのようなことを社内チャットで
    つぶやいたところ
    14

    View full-size slide

  12. 普段しずかめな PHP チャットルームが
    炎上
    15

    View full-size slide

  13. 肯定的な意見も一定数あった
    ● mixed を推奨したいわけではない
    ● 「mixed やから気を付けてや」っていうのを明示できる
    ● 明示的に「mixed でっせ」 と表明されていると、読み手
    の安心感が全然違うのでは
    16

    View full-size slide

  14. ● 型を指定するハードルが下がってよい
    ● レガシーコードをリファクタリングするとき、どうしても 1
    つの型に絞れないとき mixed とマーキングすれば、検
    討済みである目印として使えそう
    17

    View full-size slide

  15. なるほど、なにか熱いものを感じる
    18

    View full-size slide

  16. まとめ
    ● mixed 型けしからん
    ● 型をちゃんと書きたい(書こう!)
    ● レガシーとも向き合う必要がある
    ● mixed 型の話題 1 つとってもいろいろな意見がある
    ● みんな実は PHP 好きなんじゃん
    19

    View full-size slide

  17. WE ARE HIRING !
    一緒に PHP に熱くなりませんか?
    www.facebook.com/rakus.career

    View full-size slide