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
2
300
PHPでのリーダブルコード/Readable code in PHP
Y-KANOH
March 24, 2022
Tweet
Share
More Decks by Y-KANOH
See All by Y-KANOH
非エンジニアにも伝えるメールセキュリティ / Email security for non-engineers
ykanoh
16
5.3k
エンジニアは伝え方が9割/90% of what engineers need is communication skills
ykanoh
4
1.1k
PHPカンファレンス関西2024 クロージング/php kansai 2024 closing
ykanoh
0
98
PHPカンファレンス関西2024 オープニング/php kansai 2024 opening
ykanoh
2
300
PHP略語クイズ/PHP Abbreviation Quiz
ykanoh
1
2.7k
PHPカンファレンス関西2024スタッフ希望者向け説明会
ykanoh
0
380
PHPマジックメソッドクイズ!/PHP Magic Method Quiz
ykanoh
0
1.5k
PHPerが再利用可能な情報提供でオフショア先とコード品質向上に取り組む / PHPer try improve the code quality
ykanoh
1
1.2k
どんとこい、PhpStorm 〜Why don't you do IDE's best!〜 / Don't KOI PhpStorm!! Why don't you do IDE's best!!
ykanoh
0
7.8k
Other Decks in Technology
See All in Technology
それでも私はContextに値を詰めたい | Go Conference 2025 / go conference 2025 fill context
budougumi0617
4
1.2k
pprof vs runtime/trace (FlightRecorder)
task4233
0
160
AI駆動開発を推進するためにサービス開発チームで 取り組んでいること
noayaoshiro
0
130
BirdCLEF+2025 Noir 5位解法紹介
myso
0
190
業務自動化プラットフォーム Google Agentspace に入門してみる #devio2025
maroon1st
0
190
SoccerNet GSRの紹介と技術応用:選手視点映像を提供するサッカー作戦盤ツール
mixi_engineers
PRO
1
170
AIAgentの限界を超え、 現場を動かすWorkflowAgentの設計と実践
miyatakoji
0
130
生成AIを活用したZennの取り組み事例
ryosukeigarashi
0
200
AIが書いたコードをAIが検証する!自律的なモバイルアプリ開発の実現
henteko
1
330
about #74462 go/token#FileSet
tomtwinkle
1
290
M5製品で作るポン置きセルラー対応カメラ
sayacom
0
130
Pure Goで体験するWasmの未来
askua
1
170
Featured
See All Featured
Git: the NoSQL Database
bkeepers
PRO
431
66k
Balancing Empowerment & Direction
lara
4
680
The Pragmatic Product Professional
lauravandoore
36
6.9k
The Cost Of JavaScript in 2023
addyosmani
53
9k
Making Projects Easy
brettharned
119
6.4k
What’s in a name? Adding method to the madness
productmarketing
PRO
23
3.7k
The MySQL Ecosystem @ GitHub 2015
samlambert
251
13k
Gamification - CAS2011
davidbonilla
81
5.5k
Making the Leap to Tech Lead
cromwellryan
135
9.5k
Facilitating Awesome Meetings
lara
56
6.6k
It's Worth the Effort
3n
187
28k
Measuring & Analyzing Core Web Vitals
bluesmoon
9
610
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