[PHPerKaigi 2021 (LT)] 新社会人のコード品質カイゼン記録
by
don
Link
Embed
Share
Beginning
This slide
Copy link URL
Copy link URL
Copy iframe embed code
Copy iframe embed code
Copy javascript embed code
Copy javascript embed code
Share
Tweet
Share
Tweet
Slide 1
Slide 1 text
#phperkaigi ©2020 RAKUS Co., Ltd. ©2020 RAKUS Co., Ltd. 新社会人のコード 品質カイゼン記録 頓花貴俊
Slide 2
Slide 2 text
#phperkaigi ©2020 RAKUS Co., Ltd. 自己紹介 名前:頓花貴俊 (どんが たかとし) 会社:株式会社ラクス 社歴:二年 プログラム遍歴: ・大学時代:C言語、Fortran ・入社後:PHP, Java
Slide 3
Slide 3 text
#phperkaigi ©2020 RAKUS Co., Ltd. 入社研修終えての最初の数ヶ月 軽微な修正、小規模な実装では 特にコードレビューで大きな問題は なかった
Slide 4
Slide 4 text
#phperkaigi ©2020 RAKUS Co., Ltd. ですが・・・
Slide 5
Slide 5 text
#phperkaigi ©2020 RAKUS Co., Ltd. 初めての規模の大きな実装 コードレビューの指摘:約100件 開発期間 全体:3人月 担当:2人月 指摘は 約8割が保守性に関する指摘
Slide 6
Slide 6 text
#phperkaigi ©2020 RAKUS Co., Ltd. うわっ・・・私のコード品質、 低すぎ・・・?
Slide 7
Slide 7 text
#phperkaigi ©2020 RAKUS Co., Ltd. 主な指摘 ・不要コード、デバッグコードの削除忘れ ・SQLで必要のないカラムの取得 ・意味が理解しづらいメソッド名、変数名、コメント ・タイポ その他には...
Slide 8
Slide 8 text
#phperkaigi ©2020 RAKUS Co., Ltd. 保守性に関する指摘 ー 例1 ー 指摘: 条件が分かりずらい 修正後 修正前
Slide 9
Slide 9 text
#phperkaigi ©2020 RAKUS Co., Ltd. 保守性に関する指摘 ー 例2 ー 指摘: ・何をしているか読み取れない ・DOM構成が変わったときに 対応しずらい 修正後 修正前
Slide 10
Slide 10 text
#phperkaigi ©2020 RAKUS Co., Ltd. 指摘が出ないように 対策を考える
Slide 11
Slide 11 text
#phperkaigi ©2020 RAKUS Co., Ltd. 対策 ・コミット前に実装したコード全体を見直す ・前回の指摘から セルフチェックリストを作り 実装前と後にチェックする チェックリスト
Slide 12
Slide 12 text
#phperkaigi ©2020 RAKUS Co., Ltd. セルフチェックを実施した結果 コードレビューの指摘 30件 開発期間 全体:1.5人月 担当:0.5人月 あまり減っていない… → なぜ…? 自分だけではわからない…
Slide 13
Slide 13 text
#phperkaigi ©2020 RAKUS Co., Ltd. 悩みを相談した結果 先輩とペアプロを実施することに
Slide 14
Slide 14 text
#phperkaigi ©2020 RAKUS Co., Ltd. ペアプロを実施した結果 コードレビューの指摘 10件 開発期間 全体:3人月 担当:1.5人月 → 大きく減少!!! ぺアプロの良かったところ ・実装しつつ質問できる ・他の人の視点を知ることができた
Slide 15
Slide 15 text
#phperkaigi ©2020 RAKUS Co., Ltd. 1人では気づけず、ペアプロで気づいたこと ・既存コードやそのコピペなどへのコメントの追加 ・TODOコメントなどを使って気になったところにメモをする ・具体的な処理を書く前にメソッドやコメントのみを書いて、 意図が分かりやすくなっているかチェックする
Slide 16
Slide 16 text
#phperkaigi ©2020 RAKUS Co., Ltd. 改善を振り返って ・入社するまでコードレビューを受けることがなかったので自身 のコード品質が良くないことに気づいてなかった。 ・自分だけでなんとかしようとしたけど失敗した。 ・ペアプロを行うことで 他の人の視点を取り入れることができ、 視点を広げることができた
Slide 17
Slide 17 text
#phperkaigi ©2020 RAKUS Co., Ltd. 改善後も品質向上のために実施していること ・実装時には、既存コードにコメントを追加しコード全体を 把握する ・デイリーのミーティング時に実装難易度が高い所を相談し、 モブプロ的に実装を進める
Slide 18
Slide 18 text
#phperkaigi ©2020 RAKUS Co., Ltd. 自分で解決できないときは 皆さんもペアプロやってみましょう!!