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
リーダブルなPHPDocを目指して / Aiming for a readable PHPDoc
Search
Masato Nishihara
July 06, 2021
Technology
0
47
リーダブルなPHPDocを目指して / Aiming for a readable PHPDoc
2021/7/7に開催されたリーダブルコード LT会 - vol.2で発表したスライドです。
Masato Nishihara
July 06, 2021
Tweet
Share
More Decks by Masato Nishihara
See All by Masato Nishihara
ウォーターフォールとアジャイルと楽楽明細/Waterfall×Agile×Rakurakumeisai
whitefox_73
1
820
14年目のサービスと今後も歩むためのリファクタリング戦略
whitefox_73
0
1.6k
正攻法はあるのか!?泥臭く戦ったNode.jsバージョンアップ一部始終
whitefox_73
4
5.8k
Other Decks in Technology
See All in Technology
ソフトウェア開発現代史: "LeanとDevOpsの科学"の「科学」とは何か? - DORA Report 10年の変遷を追って - #開発生産性_findy
takabow
1
350
Introduction to Bill One Development Engineer
sansan33
PRO
0
250
kubellが挑むBPaaSにおける、人とAIエージェントによるサービス開発の最前線と技術展望
kubell_hr
0
110
会社紹介資料 / Sansan Company Profile
sansan33
PRO
6
370k
Eight Engineering Unit 紹介資料
sansan33
PRO
0
3.4k
Tenstorrent HW/SW 概要説明
tenstorrent_japan
0
360
Kotlinで学ぶ 代数的データ型
ysknsid25
5
1k
Monorepo Error Management: Automated Runbooks and Team-Targeted Alert Distribution
biwashi
1
140
脅威をモデリングしてMCPのセキュリティ対策を考えよう
flatt_security
4
1.1k
AIコーディング新時代を生き残るための試行錯誤 / AI Coding Survival Guide
tomohisa
8
11k
SwiftUI Transaction を徹底活用!ZOZOTOWN UI開発での活用事例
tsuzuki817
1
720
Amazon DevOps Guru のベースラインを整備して1ヶ月ほど運用してみた #jawsug_asa / Amazon DevOps Guru trial
masahirokawahara
3
240
Featured
See All Featured
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
42
2.4k
Dealing with People You Can't Stand - Big Design 2015
cassininazir
367
26k
What’s in a name? Adding method to the madness
productmarketing
PRO
22
3.5k
Fashionably flexible responsive web design (full day workshop)
malarkey
407
66k
KATA
mclloyd
29
14k
Optimizing for Happiness
mojombo
379
70k
YesSQL, Process and Tooling at Scale
rocio
172
14k
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
52
2.8k
How GitHub (no longer) Works
holman
314
140k
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
35
2.3k
Building Applications with DynamoDB
mza
95
6.4k
10 Git Anti Patterns You Should be Aware of
lemiorhan
PRO
657
60k
Transcript
#readablelt ©2021 RAKUS Co., Ltd. リーダブルな PHPDocを目指して 株式会社ラクス 西原 優人
#readablelt 自己紹介 経歴 • 2015年に新卒でラクスに入社 • 「Mail Dealer」や「Chat Dealer」の開発を経 て現在は「配配メール」の開発担当
良く触る技術 • PHP • JavaScript • Node.js • PostgreSQL 西原 優人 (masato nishihara) Twitter : whiteFox_73 趣味 • アウトドア フットサル/スノーボード/バイク /ペンギン • インドア 音楽鑑賞/ゲーム/ ペンギン
#readablelt 配配メールとは • メールマーケティングに必要な機能を備えたメール配信サービス • マーケティングオートメーションツールを備えたプランもある • 現在サービス開始から15年目
#readablelt 2月にあったRAKUSMeetUpにて Speaker Deck https://speakerdeck.com/whitefox_73/14nia n-mu-falsesabisutojin-hou-mobu-mutamefal serihuakutaringuzhan-lue logmi Tech https://logmi.jp/tech/articles/323993
※テキストで当日の発表内容が紹介されています
#readablelt 今回の内容は またリファクタリングの話になります
#readablelt 今回の内容は プログラムには影響しないけど 重要なコメントPHPDocについてです
#readablelt 今回の内容は PHPDocとはPHPで書かれたのクラスや関数などの ブロックに記述できるDocComment内に記述する書式
#readablelt 今回の内容は 実際のイメージ
#readablelt 今回の内容は PHPDocの書き方に関しては弊社ブログにもまとめています 型を使いこなすためのPHPDocの書き方 https://tech-blog.rakus.co.jp/entry/20210326/php#PHPDo c%E3%81%A8%E3%81%AF 同じチームの後輩が書いてくれました !!
#readablelt 今回の内容は 無法地帯となっていたPHPDocを メンテしましたって話
#readablelt メンテされてないとはどんな状態だった? 一つ目
#readablelt メンテされてないとはどんな状態だった? 書いてない…
#readablelt メンテされてないとはどんな状態だった? 二つ目
#readablelt メンテされてないとはどんな状態だった? フォーマット違 う…
#readablelt メンテされてないとはどんな状態だった? 三つ目
#readablelt メンテされてないとはどんな状態だった? 型違うやん…
#readablelt メンテされてないとはどんな状態だった? 3つ問題点がありましたが、一番ヤバいのは3つ目 • PHPDocが書かかれている関数と書かれていない関数が混在 • PHPDocの書き方が統一されていない • PHPDocに書かれている内容が正しくない事がある PHPDocは真実と嘘が織り交ざっており、まるで詐欺師状態
#readablelt なんでメンテしようと思ったの? • チームメンバーの入れ替わりで経験則でカバーできなくなってきた • 生産性を上げる為に、無駄な時間を使いたくなかった • 役に立っていないPHPDocが勿体ない
#readablelt どうやってメンテした? 3段階でメンテナンスを実施 • PHPDocの修正 ◦ 過去の誤ったPHPDocをあるべき姿に • ルール作成 ◦
現在進行形で誤った PHPDocが増えないように • ルール定着 ◦ 未来もPHPDocが綺麗に維持できるように
#readablelt どうやってメンテした? PHPDocの修正 • PHPDocを書く対象の関数は数千個以上… • まずは利用頻度の高い共通関数から対応 • 業務の合間に改善施策として長期的に取り組んで対応
#readablelt どうやってメンテした? ルール作成 • コーディングルールにPHPDocに関する項目を追加 • ルールをチーム内に展開し、PHPDocの認識を合わせる
#readablelt どうやってメンテした? ルール定着 • ルール定着の為、PHPDocもコードレビュー対象 • チーム内にも共有しレビューを徹底してもらう
#readablelt 効果はあった? • コードレビューや調査の際に、PHPDocを信頼できるようになった • IDEの補完が効くようになった • IDEで誤った不要な警告がでなくなった
#readablelt 取り組んでの所感 • 無法地帯だったPHPDocをメンテした • メンテを怠ると正常な状態に戻すのがとても大変 • 信頼できるPHPDocである事が大切 • IDEの恩恵も受けることが出来て良いことばかり
#readablelt サボらずにPHPDocをメンテしましょう