Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
PHPでのリーダブルコード/Readable code in PHP
Search
Y-KANOH
March 24, 2022
Technology
1
210
PHPでのリーダブルコード/Readable code in PHP
Y-KANOH
March 24, 2022
Tweet
Share
More Decks by Y-KANOH
See All by Y-KANOH
PHPカンファレンス関西2024 オープニング/php kansai 2024 opening
ykanoh
2
150
PHP略語クイズ/PHP Abbreviation Quiz
ykanoh
1
2.2k
PHPカンファレンス関西2024スタッフ希望者向け説明会
ykanoh
0
260
PHPマジックメソッドクイズ!/PHP Magic Method Quiz
ykanoh
0
1.1k
PHPerが再利用可能な情報提供でオフショア先とコード品質向上に取り組む / PHPer try improve the code quality
ykanoh
0
960
どんとこい、PhpStorm 〜Why don't you do IDE's best!〜 / Don't KOI PhpStorm!! Why don't you do IDE's best!!
ykanoh
0
6.5k
技術コミュニティ運営戦線〜継続して勉強会を運営するために〜/how to operate community continuously
ykanoh
0
1.4k
めざせOSSコントリビュート/LetsContributeOSS
ykanoh
2
130
コミュニティ活動で差別化をめざすエンジニアの一手/Distinguish by community for engineers career
ykanoh
2
980
Other Decks in Technology
See All in Technology
SORACOMで実現するIoTのマルチクラウド対応 - IoTでのクリーンアーキテクチャの実現 -
kenichirokimura
0
270
【Λ(らむだ)最近のアプデ情報 / RPALT20240904
lambda
0
170
RAGHack: Building RAG apps in Python
pamelafox
0
130
LLMに日本語テキストを学習させる意義
ksaito
13
3.6k
Building Static Websites with Sculpin
opdavies
0
1.5k
React Aria で実現する次世代のアクセシビリティ
ryo_manba
4
860
強いチームを夢見て-PMからSREに転身して1年の振り返り / 20240906_bengo4_sre
bengo4com
2
810
中規模・ミドルTier開発組織におけるDevRelの戦略と実行と成果 - DevRel Guild Conference Mini -
leveragestech
2
280
Namespace, Now and Then
tagomoris
0
170
Zero Data Loss Autonomous Recovery Service サービス概要
oracle4engineer
PRO
0
3.2k
Javaにおける関数型プログラミンへの取り組み
skrb
7
280
MySQLユーザ会なにやってるの?とおさそいと / たいへんなのw
sakaik
1
110
Featured
See All Featured
Gamification - CAS2011
davidbonilla
79
4.9k
Design by the Numbers
sachag
277
19k
Rails Girls Zürich Keynote
gr2m
93
13k
The Power of CSS Pseudo Elements
geoffreycrofte
71
5.2k
The Invisible Side of Design
smashingmag
295
50k
Reflections from 52 weeks, 52 projects
jeffersonlam
346
20k
Dealing with People You Can't Stand - Big Design 2015
cassininazir
363
22k
Java REST API Framework Comparison - PWX 2021
mraible
PRO
27
7.4k
Art, The Web, and Tiny UX
lynnandtonic
294
20k
Web Components: a chance to create the future
zenorocha
308
41k
What the flash - Photography Introduction
edds
67
11k
Building a Modern Day E-commerce SEO Strategy
aleyda
35
6.8k
Transcript
PHPでの リーダブルコード
加納 悠史 カノウユウジ PHPer @Ykanoh65 株式会社 ラクス
PHP使っている人
PHP使っていない人
PHPは変な言語? メリット ▰ すぐ使える ▰ 曖昧な書き方でもすぐ動く 5
PHPは変な言語? デメリット ▰ 曖昧なままなのでバグが起きやすい ▰ 変な記述でもとりあえず動く 6
デメリット回避のために
テクニックが必要
PHPで バグを減らす 記述方 9
1. PHPDoc ▰ 関数やクラスに記載するコメント ▰ PHPでは "型を指定する" ために使用 10
None
1. PHPDoc ▰ 関数やクラスに記載するコメント ▰ PHPでは "型を指定する" ために使用 ▰ 言語仕様以外で型が指定できる貴重なツール
12
2. 名前付き引数 ▰ PHP8.0 の新機能 ▰ 現在の最新は PHP8.1 ▰ 引数の初期値指定の煩雑さを回避
13
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); // デフォルト値以外でも引数の意味がわかりやすくなる
2. 名前付き引数 ▰ PHP8.0 の新機能 ▰ 引数の初期値指定の煩雑さを回避 ▰ ぱっと見で引数の意味を理解できる IDE使ってたら不要かもしれないが...
15
PhpStorm の場合
3. PSR ▰ PHPの規約集 ▰ 複数のルールが存在 ▰ プロジェクトで採用ルールを選んで利用 17
https://www.php-fig.org/psr/
まとめ ▰ PHPDoc ▰ 名前付き引数 ▰ PSR 19