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
280
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
4.6k
エンジニアは伝え方が9割/90% of what engineers need is communication skills
ykanoh
4
790
PHPカンファレンス関西2024 クロージング/php kansai 2024 closing
ykanoh
0
60
PHPカンファレンス関西2024 オープニング/php kansai 2024 opening
ykanoh
2
250
PHP略語クイズ/PHP Abbreviation Quiz
ykanoh
1
2.5k
PHPカンファレンス関西2024スタッフ希望者向け説明会
ykanoh
0
350
PHPマジックメソッドクイズ!/PHP Magic Method Quiz
ykanoh
0
1.4k
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.4k
Other Decks in Technology
See All in Technology
AIにおけるソフトウェアテスト_ver1.00
fumisuke
1
370
続・やっぱり余白が大切だった話
kakehashi
PRO
3
310
さくらのクラウド開発の裏側
metakoma
PRO
0
450
Part2 GitHub Copilotってなんだろう
tomokusaba
2
750
AIと共同執筆してより質の高い記事を書こう
riyaamemiya
1
300
コードや知識を組み込む / Incorporating Codes and Knowledge
ks91
PRO
0
170
Previewでもここまで追える! Azure AI Foundryで始めるLLMトレース
tomodo_ysys
2
630
AIとSREで「今」できること
honmarkhunt
3
720
SaaS公式MCPサーバーをリリースして得た学び
kawamataryo
1
360
OPENLOGI Company Profile for engineer
hr01
1
26k
雑に疎通確認だけしたい...せや!CloudShell使ったろ!
alchemy1115
0
210
自動化の第一歩 -インフラ環境構築の自動化について-
smt7174
1
120
Featured
See All Featured
Building an army of robots
kneath
305
45k
Gamification - CAS2011
davidbonilla
81
5.3k
4 Signs Your Business is Dying
shpigford
183
22k
10 Git Anti Patterns You Should be Aware of
lemiorhan
PRO
656
60k
Writing Fast Ruby
sferik
628
61k
Dealing with People You Can't Stand - Big Design 2015
cassininazir
367
26k
Code Reviewing Like a Champion
maltzj
523
40k
Being A Developer After 40
akosma
91
590k
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
251
21k
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
32
5.6k
Reflections from 52 weeks, 52 projects
jeffersonlam
349
20k
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
194
16k
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