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
200
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
1
76
PHP略語クイズ/PHP Abbreviation Quiz
ykanoh
1
1.9k
PHPカンファレンス関西2024スタッフ希望者向け説明会
ykanoh
0
200
PHPマジックメソッドクイズ!/PHP Magic Method Quiz
ykanoh
0
990
PHPerが再利用可能な情報提供でオフショア先とコード品質向上に取り組む / PHPer try improve the code quality
ykanoh
0
890
どんとこい、PhpStorm 〜Why don't you do IDE's best!〜 / Don't KOI PhpStorm!! Why don't you do IDE's best!!
ykanoh
0
5.7k
技術コミュニティ運営戦線〜継続して勉強会を運営するために〜/how to operate community continuously
ykanoh
0
1.3k
めざせOSSコントリビュート/LetsContributeOSS
ykanoh
2
110
コミュニティ活動で差別化をめざすエンジニアの一手/Distinguish by community for engineers career
ykanoh
2
930
Other Decks in Technology
See All in Technology
類似ロジック実装をiOS/Android間で合わせる道標No.1
fumiyasac0921
0
110
LayerXにおけるLLMプロダクト開発の今までとこれから
layerx
PRO
4
1k
一生覚えておきたい「システム開発=コミュニケーション」〜初めての実務案件振り返りLT〜
maimyyym
3
410
【SORACOM UG 東海】あらゆるモノがつながる社会へ、IoT と SORACOM
soracom
PRO
1
160
Documentação de Produtos: Artefatos essenciais na prática
rigolon
1
190
VSCodeの拡張機能を作っている話
ebarakazuhiro
1
840
M5stackで使用できるpHセンサの開発
shinrinakamura
0
270
ゼロから始めるVue.jsコミュニティ貢献 / first-vuejs-community-contribution-link-and-motivation
lmi
1
150
しくじり先生、PharmaXのLLMアプリケーション開発の失敗を語る
pharma_x_tech
0
110
自己改善からチームを動かす! 「セルフエンジニアリングマネージャー」のすゝめ
shoota
6
1.1k
家族アルバム みてねにおけるGrafana活用術 / Grafana Meetup Japan Vol.1 LT
isaoshimizu
1
1.1k
GrafanaMeetup_AmazonManagedGrafanaのアクセス制御機能とマルチテナント環境下でのアクセス制御について
daitak
0
450
Featured
See All Featured
Optimizing for Happiness
mojombo
370
69k
Why Our Code Smells
bkeepers
PRO
331
56k
Infographics Made Easy
chrislema
238
18k
The Cult of Friendly URLs
andyhume
74
5.7k
Rebuilding a faster, lazier Slack
samanthasiow
74
8.3k
Navigating Team Friction
lara
179
13k
Building Adaptive Systems
keathley
32
1.9k
jQuery: Nuts, Bolts and Bling
dougneiner
60
7.2k
[RailsConf 2023] Rails as a piece of cake
palkan
28
4k
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
188
16k
Making the Leap to Tech Lead
cromwellryan
125
8.5k
GraphQLの誤解/rethinking-graphql
sonatard
56
9.3k
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