[PHPerKaigi 2021 (LT)] 新社会人のコード品質カイゼン記録
by
don
×
Copy
Open
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
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. 自分で解決できないときは 皆さんもペアプロやってみましょう!!