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

PHPでのリーダブルコード/Readable code in PHP

Y-KANOH
March 24, 2022

PHPでのリーダブルコード/Readable code in PHP

Y-KANOH

March 24, 2022
Tweet

More Decks by Y-KANOH

Other Decks in Technology

Transcript

  1. PHPでの
    リーダブルコード

    View Slide

  2. 加納 悠史
    カノウユウジ PHPer
    @Ykanoh65
    株式会社 ラクス

    View Slide

  3. PHP使っている人

    View Slide

  4. PHP使っていない人

    View Slide

  5. PHPは変な言語?
    メリット
    ▰ すぐ使える
    ▰ 曖昧な書き方でもすぐ動く
    5

    View Slide

  6. PHPは変な言語?
    デメリット
    ▰ 曖昧なままなのでバグが起きやすい
    ▰ 変な記述でもとりあえず動く
    6

    View Slide

  7. デメリット回避のために

    View Slide

  8. テクニックが必要

    View Slide

  9. PHPで
    バグを減らす
    記述方
    9

    View Slide

  10. 1. PHPDoc
    ▰ 関数やクラスに記載するコメント
    ▰ PHPでは "型を指定する" ために使用
    10

    View Slide

  11. View Slide

  12. 1. PHPDoc
    ▰ 関数やクラスに記載するコメント
    ▰ PHPでは "型を指定する" ために使用
    ▰ 言語仕様以外で型が指定できる貴重なツール
    12

    View Slide

  13. 2. 名前付き引数
    ▰ PHP8.0 の新機能
    ▰ 現在の最新は PHP8.1
    ▰ 引数の初期値指定の煩雑さを回避
    13

    View Slide

  14. function hoge($startIndex=0, $num=0, $max=10, $min=1) {
    // ...
    }
    hoge(3, 12, 11);
    // min にはデフォルト値の 1 が入る
    hoge(0, 0, 10, 5);
    // min だけデフォルト値でないものを入れる場合に煩雑
    hoge(min:5);
    // PHP 8.0 ではこのように書ける
    hoge(startIndex:3, num:12, max:11, min:1);
    // デフォルト値以外でも引数の意味がわかりやすくなる

    View Slide

  15. 2. 名前付き引数
    ▰ PHP8.0 の新機能
    ▰ 引数の初期値指定の煩雑さを回避
    ▰ ぱっと見で引数の意味を理解できる
    IDE使ってたら不要かもしれないが...
    15

    View Slide

  16. PhpStorm の場合

    View Slide

  17. 3. PSR
    ▰ PHPの規約集
    ▰ 複数のルールが存在
    ▰ プロジェクトで採用ルールを選んで利用
    17

    View Slide

  18. https://www.php-fig.org/psr/

    View Slide

  19. まとめ
    ▰ PHPDoc
    ▰ 名前付き引数
    ▰ PSR
    19

    View Slide