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を目指して / 20210707-readablelt-nishihara
Search
Rakus_Dev
March 14, 2022
Technology
0
4.9k
リーダブルなPHPDocを目指して / 20210707-readablelt-nishihara
Rakus_Dev
March 14, 2022
Tweet
Share
More Decks by Rakus_Dev
See All by Rakus_Dev
主体的に活躍する内製QA組織の作り方と組織文化の醸成 / How to Build a Proactive In-house QA Organization and Foster Its Culture
rakus_dev
0
130
AI実装による「レビューボトルネック」を解消する仕様駆動開発(SDD)/ ai-sdd-review-bottleneck
rakus_dev
0
160
仕様駆動開発の組織的定着に向けた取り組み ~『楽楽電子保存』開発チームの事例~ / Establishing SDD: Organizational Initiatives
rakus_dev
0
340
全エンジニアのAI活用状況を可視化する~Lookerを用いたアンケート分析と今後の推進策~ / Visualizing AI Adoption Across Engineering
rakus_dev
0
360
出してみてわかったAIエージェントプロダクトの舞台裏 〜楽楽AIエージェント for 楽楽精算〜 / Behind the Scenes of Rakuraku AI Agent
rakus_dev
0
370
プロダクトマネージャーの目標と評価 / Goal Setting for Product Managers
rakus_dev
1
820
【pmconf2025】AI時代の『ジュニア不要論』に異議あり! 未経験から戦力PdMを生み出すOJT戦略とは?
rakus_dev
1
1k
プロダクトづくりにAIを溶かす3つの壁 ― ラクス流AI浸透のススメ / 3 Barriers to AI in Products: The Rakus Way
rakus_dev
0
2.6k
設計フェーズを加速するAI活用戦略 / AI Strategy for Accelerated Design
rakus_dev
4
700
Other Decks in Technology
See All in Technology
SLI/SLO 導入で 避けるべきこと3選
yagikota
0
140
TypeScript 7.0の現在地と備え方
uhyo
7
1.9k
イベントで大活躍する電子ペーパー名札を作る(その2) 〜 M5PaperとM5PaperS3 〜 / IoTLT @ JLCPCB オープンハードカンファレンス
you
PRO
0
130
LINEヤフーにおけるAIOpsの現在地
lycorptech_jp
PRO
4
970
VPCエンドポイント意外とお金かかるなぁ。せや、共有したろ!
tommy0124
1
710
プラットフォームエンジニアリングはAI時代の開発者をどう救うのか
jacopen
8
4.1k
ABEMAのバグバウンティの取り組み
kurochan
1
140
実践 Datadog MCP Server
nulabinc
PRO
2
250
Zero Data Loss Autonomous Recovery Service サービス概要
oracle4engineer
PRO
2
13k
Phase03_ドキュメント管理
overflowinc
0
150
ソフトバンク流!プラットフォームエンジニアリング実現へのアプローチ
sbtechnight
1
230
モジュラモノリス導入から4年間の総括:アーキテクチャと組織の相互作用について / Architecture and Organizational Interaction
nazonohito51
3
980
Featured
See All Featured
Java REST API Framework Comparison - PWX 2021
mraible
34
9.2k
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
360
30k
Accessibility Awareness
sabderemane
0
84
Thoughts on Productivity
jonyablonski
75
5.1k
[RailsConf 2023 Opening Keynote] The Magic of Rails
eileencodes
31
10k
Documentation Writing (for coders)
carmenintech
77
5.3k
The Limits of Empathy - UXLibs8
cassininazir
1
270
Building AI with AI
inesmontani
PRO
1
810
Reflections from 52 weeks, 52 projects
jeffersonlam
356
21k
Reality Check: Gamification 10 Years Later
codingconduct
0
2.1k
技術選定の審美眼(2025年版) / Understanding the Spiral of Technologies 2025 edition
twada
PRO
118
110k
Test your architecture with Archunit
thirion
1
2.2k
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をメンテしましょう