改善したほうがいい私の7つの開発習慣
TRANSCRIPT
![Page 1: 改善したほうがいい私の7つの開発習慣](https://reader031.vdocuments.mx/reader031/viewer/2022030222/58b87a5e1a28ab44078b48cd/html5/thumbnails/1.jpg)
改善した方がいい私の7つの開発習慣
社内勉強会(2017-02-22)CyberZ 門田矩明
![Page 2: 改善したほうがいい私の7つの開発習慣](https://reader031.vdocuments.mx/reader031/viewer/2022030222/58b87a5e1a28ab44078b48cd/html5/thumbnails/2.jpg)
こんにちわこんにちわ!
Noriaki KadotaTechnology Strategy Office Manager
@nottegra
![Page 3: 改善したほうがいい私の7つの開発習慣](https://reader031.vdocuments.mx/reader031/viewer/2022030222/58b87a5e1a28ab44078b48cd/html5/thumbnails/3.jpg)
開発スタイル/習慣について、
立場的に色々改善の指摘とかしてるけど
みんな内心「お前はどうなんだよ!」
って思ってるよね
![Page 4: 改善したほうがいい私の7つの開発習慣](https://reader031.vdocuments.mx/reader031/viewer/2022030222/58b87a5e1a28ab44078b48cd/html5/thumbnails/4.jpg)
自分で自分をレビューして
改善したほうがいい開発習慣を
7つピックアップして、
改善策も考えてきました
![Page 5: 改善したほうがいい私の7つの開発習慣](https://reader031.vdocuments.mx/reader031/viewer/2022030222/58b87a5e1a28ab44078b48cd/html5/thumbnails/5.jpg)
それでは始めます
![Page 6: 改善したほうがいい私の7つの開発習慣](https://reader031.vdocuments.mx/reader031/viewer/2022030222/58b87a5e1a28ab44078b48cd/html5/thumbnails/6.jpg)
1.クソみたいなコードを見たら衝動的に書き換えるけど9割コミットしないで捨てる
![Page 7: 改善したほうがいい私の7つの開発習慣](https://reader031.vdocuments.mx/reader031/viewer/2022030222/58b87a5e1a28ab44078b48cd/html5/thumbnails/7.jpg)
クソコードを書き換えても9割コミットしない
✣ もっとこうしたらいいんじゃない?って本能の赴くままに書き換える
✣ 次の日の朝には情熱が消えている✣ 説明するのが面倒くさいので捨てる✣ (あなたのプロジェクトも知らない間に...)
[改善策]無言でPRを出すようにする
![Page 8: 改善したほうがいい私の7つの開発習慣](https://reader031.vdocuments.mx/reader031/viewer/2022030222/58b87a5e1a28ab44078b48cd/html5/thumbnails/8.jpg)
2.ドキュメントはコード書き終わってから
作っている
![Page 9: 改善したほうがいい私の7つの開発習慣](https://reader031.vdocuments.mx/reader031/viewer/2022030222/58b87a5e1a28ab44078b48cd/html5/thumbnails/9.jpg)
ドキュメントはコード書いてから
✣ コード書きながら詳細考える✣ 書きながら変わるから最後に一気に文章化✣ データ設計も書きながら決めるから
コード書いてる時にテーブル出来てないUnitテスト通す時に作る
[改善策]ドキュメントをコードで書く
![Page 10: 改善したほうがいい私の7つの開発習慣](https://reader031.vdocuments.mx/reader031/viewer/2022030222/58b87a5e1a28ab44078b48cd/html5/thumbnails/10.jpg)
3.if文を使わないで実装しようとする
![Page 11: 改善したほうがいい私の7つの開発習慣](https://reader031.vdocuments.mx/reader031/viewer/2022030222/58b87a5e1a28ab44078b48cd/html5/thumbnails/11.jpg)
IF文から逃げ出す
✣ そもそも複雑なIF文が読めないif ( !cookie || !uuid || !(ua==”ipad”) )
✣ Ifの中の条件を変数名か関数名で明示するか、そもそもifを回避できる書き方にして逃げている
[改善策]公文に行ってIF文ドリルで特訓する
![Page 12: 改善したほうがいい私の7つの開発習慣](https://reader031.vdocuments.mx/reader031/viewer/2022030222/58b87a5e1a28ab44078b48cd/html5/thumbnails/12.jpg)
4.Unitテストを
書き心地確認のためにしか使っていない
![Page 13: 改善したほうがいい私の7つの開発習慣](https://reader031.vdocuments.mx/reader031/viewer/2022030222/58b87a5e1a28ab44078b48cd/html5/thumbnails/13.jpg)
Unitテストは書き心地確認用
✣ フィールド名とか、メソッド名とか使ってみないとしっくり来るかわからない
✣ Unitテストは書き心地確認にちょうどよい✣ テストはおまけだと思っている
[改善策]書き終わったテストに愛など無い
と割り切る
![Page 14: 改善したほうがいい私の7つの開発習慣](https://reader031.vdocuments.mx/reader031/viewer/2022030222/58b87a5e1a28ab44078b48cd/html5/thumbnails/14.jpg)
5.コード書く時間より
紙とペンで考える時間のほうが長い
![Page 15: 改善したほうがいい私の7つの開発習慣](https://reader031.vdocuments.mx/reader031/viewer/2022030222/58b87a5e1a28ab44078b48cd/html5/thumbnails/15.jpg)
紙とペンで考える時間が長い
✣ 設計は紙とペン✣ 細かいロジックも変数名決めも紙とペン✣ でもスペルがわからなくてPCで調べている✣ 紙見ながらコード書くから効率が悪い
[改善策]ペンタブを導入する
![Page 16: 改善したほうがいい私の7つの開発習慣](https://reader031.vdocuments.mx/reader031/viewer/2022030222/58b87a5e1a28ab44078b48cd/html5/thumbnails/16.jpg)
6.コード書く時間より
OSS調べてる時間のほうが長い
![Page 17: 改善したほうがいい私の7つの開発習慣](https://reader031.vdocuments.mx/reader031/viewer/2022030222/58b87a5e1a28ab44078b48cd/html5/thumbnails/17.jpg)
OSS調べる時間が長い
✣ そもそもOSSあるならそっち使いたい✣ 自分が考えつくロジックなんて
既にどっかの誰かが考えてるに違いない✣ ギリギリまでOSS無いか調べて、OSS使ったプ
ロトタイピングをやってる事が多い
[改善策]OSS調査は開発スケジュールの80%までしか使っ
ちゃいけないことにする
![Page 18: 改善したほうがいい私の7つの開発習慣](https://reader031.vdocuments.mx/reader031/viewer/2022030222/58b87a5e1a28ab44078b48cd/html5/thumbnails/18.jpg)
7.そもそもコード書く行為がめんどい
![Page 19: 改善したほうがいい私の7つの開発習慣](https://reader031.vdocuments.mx/reader031/viewer/2022030222/58b87a5e1a28ab44078b48cd/html5/thumbnails/19.jpg)
コードを書くのがめんどくさい
✣ クソコードを書きたくないため、自分で自分のハードルがあがっている
✣ コードを1行書くのに精神的苦痛が伴う✣ 可能な限り自分の書くコードを減らして
目的を達成することに命を懸けている
[対策]コード書く毎に寿命が縮まる
という設定にする
![Page 20: 改善したほうがいい私の7つの開発習慣](https://reader031.vdocuments.mx/reader031/viewer/2022030222/58b87a5e1a28ab44078b48cd/html5/thumbnails/20.jpg)
いかがでしたでしょうか
![Page 21: 改善したほうがいい私の7つの開発習慣](https://reader031.vdocuments.mx/reader031/viewer/2022030222/58b87a5e1a28ab44078b48cd/html5/thumbnails/21.jpg)
指摘している本人も
全然完璧ではありません
![Page 22: 改善したほうがいい私の7つの開発習慣](https://reader031.vdocuments.mx/reader031/viewer/2022030222/58b87a5e1a28ab44078b48cd/html5/thumbnails/22.jpg)
指摘を鵜呑みにしないで、
自分なりの答えを見つけてください
![Page 23: 改善したほうがいい私の7つの開発習慣](https://reader031.vdocuments.mx/reader031/viewer/2022030222/58b87a5e1a28ab44078b48cd/html5/thumbnails/23.jpg)
Thanks!
Any questions?