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

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

B3a78cfbf06ca9ee860536c6d1de5e7f?s=47 Y-KANOH
March 24, 2022

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

B3a78cfbf06ca9ee860536c6d1de5e7f?s=128

Y-KANOH

March 24, 2022
Tweet

More Decks by Y-KANOH

Other Decks in Technology

Transcript

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

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

  3. PHP使っている人

  4. PHP使っていない人

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

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

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

  8. テクニックが必要

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

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

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

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

    13
  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); // デフォルト値以外でも引数の意味がわかりやすくなる
  15. 2. 名前付き引数 ▰ PHP8.0 の新機能 ▰ 引数の初期値指定の煩雑さを回避 ▰ ぱっと見で引数の意味を理解できる IDE使ってたら不要かもしれないが...

    15
  16. PhpStorm の場合

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

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

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