狠狠撸

狠狠撸Share a Scribd company logo
3年で6回リプレースをした
エンジニアが語る!
システムリプレースの極意
~2016/12/10 ゆとり世代エンジニア交流会~
自己紹介
名前:たなかひかる
誕生日:1987/08/28生まれ(おとめ座)
エンジニア歴:●年目(覚えてない)
所属:株式会社マーケティングアプリケーションズ
主要開発言語:PHP、javascript、日本語
離婚歴:1回
結婚歴:1回
近況1:来月転職します
近況2:車買いました(空冷ビートル)
リプレイスの経歴
某渋谷のインターネット企業の広告タグの置き換えや
自主規制
リプレイスの経歴
アンケートポイントサイトの内部構造を
ごっそり入れ替えてみたりしています
今日のお話
?リプレイスをしたくなる場面について
?リプレイスが出来ない理由について
?リプレイスをしないリスク
?リプレイスをするためには
今日のお話
?リプレイスをしたくなる場面について
?リプレイスが出来ない理由について
?リプレイスをしないリスク
?リプレイスをするためには
当たり前の事を
さも凄い発見のように話します
リプレイスをしたくなる場面
?コードの見通しが悪い
?ブラックボックスになっている個所がある
?いたるところにコピペコードがある
?なぜかバグってる
?泣きたい
リプレイスをしたくなる場面
無
理???!!
リプレイスをしたくなる場面
?コードの見通しが悪い→見通せないコードは置き換えられ
ない
?ブラックボックスになっている個所がある→知らないコー
ドは(ry
?いたるところにコピペコードがある→作業量が多くて(ry
?なぜかバグってる→理由がわからないのに(ry
?泣きたい→知らんがな
リプレイスをしたくなる場面≒リプレイスが出来な
い理由
?コードの見通しが悪い→見通せないコードは置き換えられ
ない
?ブラックボックスになっている個所がある→知らないコー
ドは(ry
?いたるところにコピペコードがある→作業量が多くて(ry
?なぜかバグってる→理由がわからないのに(ry
?泣きたい→知らんがな
?時間がない
?許可がおりない
リプレイスをしないリスクについて
リプレイスしないシステムは開発、運用、障害にかかるコストが日々増大
リプレイスをすると短期的にリスクは増大するが、長期的にはリスクは低減
リプレイスをするためには
1.まず設計思想を決める
2.設計思想を満たすためのリファクタリング
を行う
3.リプレイスをする
4.bugfix!
まとめ
1.システムリプレイスはしたい気持ちだけでは出来ない
2.システムリプレイスをするためには準備が必要
3.定期的にリプレイスをした方がリスクは低減される(諸説
あり)
4.リプレイスした直後はバグは出る
5.長期的にはリスクは低減される(2回目)
まとめ
クズみたいなシステムや古くなって扱いにくくなったシステ
ムは
どんどんリプレイスをして心地よい開発環境を手に入れまし
ょう!
\(^o^)/
ご清聴ありがとうございました。
Ad

Recommended

2017/04/12 mac/win対応の 仮想環境構築で複数インスタンスをぶん回せ!
2017/04/12 mac/win対応の 仮想環境構築で複数インスタンスをぶん回せ!
Hikaru Tanaka
?
骋颈迟で安定マスターブランチを手に入れる
骋颈迟で安定マスターブランチを手に入れる
Works Applications
?
1ヶ月で作り切る!スタートアップのための Rails 爆速開発術 (20170306)
1ヶ月で作り切る!スタートアップのための Rails 爆速開発術 (20170306)
Masataka Sato
?
Dev4citizen manual
Dev4citizen manual
テスト データ
?
Letsgo developer 2012 Continuous Delivery
Letsgo developer 2012 Continuous Delivery
Nobuhiro Sue
?
ヒ?シ?ュアルフ?ロク?ラミンク?言语厂肠谤补迟肠丑て?游ほ?う
ヒ?シ?ュアルフ?ロク?ラミンク?言语厂肠谤补迟肠丑て?游ほ?う
Tomoyuki Sugita
?
Roo
Roo
terahide
?
クラウドワークスを使ったバーチャル开発术
クラウドワークスを使ったバーチャル开発术
Kimiya Sato
?
クラウドワークスを使ったバーチャル开発术(セミナー資料)
クラウドワークスを使ったバーチャル开発术(セミナー資料)
Innova Inc.
?
夏サミ2013 基調講演 「DevOpsは開発現場とビジネスの間に何を生むか?」(新野淳一氏)
夏サミ2013 基調講演 「DevOpsは開発現場とビジネスの間に何を生むか?」(新野淳一氏)
Developers Summit
?
C# で QnA Bot
C# で QnA Bot
Yoshitaka Seo
?
ドメイン駆動設計と サーバサイドと私
ドメイン駆動設計と サーバサイドと私
Noriaki Kadota
?
[Gree] グリーのソーシャルケ?ームにおける機械学習活用事例
[Gree] グリーのソーシャルケ?ームにおける機械学習活用事例
Takashi Suzuki
?
QnA Maker 逆入門
QnA Maker 逆入門
Yoshitaka Seo
?
复数拠点における开発効率の维持?向上
复数拠点における开発効率の维持?向上
infinite_loop
?
DevOps at ChatWork
DevOps at ChatWork
Masaki Yamamoto
?
笔贬笔から驳辞への移行で分かったこと
笔贬笔から驳辞への移行で分かったこと
gree_tech
?
エンジン戦略におけるブリッジエンジニアの役割
エンジン戦略におけるブリッジエンジニアの役割
gree_tech
?
俺と骋颈迟贬耻产
俺と骋颈迟贬耻产
Masayuki KaToH
?
现场で役立つシステム设计の原则への感谢
现场で役立つシステム设计の原则への感谢
Ishibashi Ryo
?
2014-02-20冲罢辞办测辞-骋础厂#5-社内活性化推进に骋础厂を大活用した话
2014-02-20冲罢辞办测辞-骋础厂#5-社内活性化推进に骋础厂を大活用した话
Humangas
?
Designer's Design Talk「デザインの基礎」
Designer's Design Talk「デザインの基礎」
典子 松本
?
辉け!办颈苍迟辞苍别プログラマー
辉け!办颈苍迟辞苍别プログラマー
Cybozucommunity
?
ノンコーディングでLINE BOTを作ってみた話
ノンコーディングでLINE BOTを作ってみた話
典子 松本
?
Azure Machine Leaning Workbench の使い方
Azure Machine Leaning Workbench の使い方
Yoshitaka Seo
?
运営型モバイルゲームの运用について
运営型モバイルゲームの运用について
KLab Inc. / Tech
?
やっちゃえkntone developer[公開用]
やっちゃえkntone developer[公開用]
Kyouhei Kitagawa
?
ガチリアルな修罗チーム开発
ガチリアルな修罗チーム开発
Atsushi Kojima
?
摆冲驳补罢谤补肠办别谤闭骋础のここがすき。ここがきらい。
摆冲驳补罢谤补肠办别谤闭骋础のここがすき。ここがきらい。
Toru Enomoto
?
performance hack 101
performance hack 101
Akira Miki
?

More Related Content

What's hot (20)

クラウドワークスを使ったバーチャル开発术(セミナー資料)
クラウドワークスを使ったバーチャル开発术(セミナー資料)
Innova Inc.
?
夏サミ2013 基調講演 「DevOpsは開発現場とビジネスの間に何を生むか?」(新野淳一氏)
夏サミ2013 基調講演 「DevOpsは開発現場とビジネスの間に何を生むか?」(新野淳一氏)
Developers Summit
?
C# で QnA Bot
C# で QnA Bot
Yoshitaka Seo
?
ドメイン駆動設計と サーバサイドと私
ドメイン駆動設計と サーバサイドと私
Noriaki Kadota
?
[Gree] グリーのソーシャルケ?ームにおける機械学習活用事例
[Gree] グリーのソーシャルケ?ームにおける機械学習活用事例
Takashi Suzuki
?
QnA Maker 逆入門
QnA Maker 逆入門
Yoshitaka Seo
?
复数拠点における开発効率の维持?向上
复数拠点における开発効率の维持?向上
infinite_loop
?
DevOps at ChatWork
DevOps at ChatWork
Masaki Yamamoto
?
笔贬笔から驳辞への移行で分かったこと
笔贬笔から驳辞への移行で分かったこと
gree_tech
?
エンジン戦略におけるブリッジエンジニアの役割
エンジン戦略におけるブリッジエンジニアの役割
gree_tech
?
俺と骋颈迟贬耻产
俺と骋颈迟贬耻产
Masayuki KaToH
?
现场で役立つシステム设计の原则への感谢
现场で役立つシステム设计の原则への感谢
Ishibashi Ryo
?
2014-02-20冲罢辞办测辞-骋础厂#5-社内活性化推进に骋础厂を大活用した话
2014-02-20冲罢辞办测辞-骋础厂#5-社内活性化推进に骋础厂を大活用した话
Humangas
?
Designer's Design Talk「デザインの基礎」
Designer's Design Talk「デザインの基礎」
典子 松本
?
辉け!办颈苍迟辞苍别プログラマー
辉け!办颈苍迟辞苍别プログラマー
Cybozucommunity
?
ノンコーディングでLINE BOTを作ってみた話
ノンコーディングでLINE BOTを作ってみた話
典子 松本
?
Azure Machine Leaning Workbench の使い方
Azure Machine Leaning Workbench の使い方
Yoshitaka Seo
?
运営型モバイルゲームの运用について
运営型モバイルゲームの运用について
KLab Inc. / Tech
?
やっちゃえkntone developer[公開用]
やっちゃえkntone developer[公開用]
Kyouhei Kitagawa
?
ガチリアルな修罗チーム开発
ガチリアルな修罗チーム开発
Atsushi Kojima
?
クラウドワークスを使ったバーチャル开発术(セミナー資料)
クラウドワークスを使ったバーチャル开発术(セミナー資料)
Innova Inc.
?
夏サミ2013 基調講演 「DevOpsは開発現場とビジネスの間に何を生むか?」(新野淳一氏)
夏サミ2013 基調講演 「DevOpsは開発現場とビジネスの間に何を生むか?」(新野淳一氏)
Developers Summit
?
ドメイン駆動設計と サーバサイドと私
ドメイン駆動設計と サーバサイドと私
Noriaki Kadota
?
[Gree] グリーのソーシャルケ?ームにおける機械学習活用事例
[Gree] グリーのソーシャルケ?ームにおける機械学習活用事例
Takashi Suzuki
?
复数拠点における开発効率の维持?向上
复数拠点における开発効率の维持?向上
infinite_loop
?
笔贬笔から驳辞への移行で分かったこと
笔贬笔から驳辞への移行で分かったこと
gree_tech
?
エンジン戦略におけるブリッジエンジニアの役割
エンジン戦略におけるブリッジエンジニアの役割
gree_tech
?
现场で役立つシステム设计の原则への感谢
现场で役立つシステム设计の原则への感谢
Ishibashi Ryo
?
2014-02-20冲罢辞办测辞-骋础厂#5-社内活性化推进に骋础厂を大活用した话
2014-02-20冲罢辞办测辞-骋础厂#5-社内活性化推进に骋础厂を大活用した话
Humangas
?
Designer's Design Talk「デザインの基礎」
Designer's Design Talk「デザインの基礎」
典子 松本
?
辉け!办颈苍迟辞苍别プログラマー
辉け!办颈苍迟辞苍别プログラマー
Cybozucommunity
?
ノンコーディングでLINE BOTを作ってみた話
ノンコーディングでLINE BOTを作ってみた話
典子 松本
?
Azure Machine Leaning Workbench の使い方
Azure Machine Leaning Workbench の使い方
Yoshitaka Seo
?
运営型モバイルゲームの运用について
运営型モバイルゲームの运用について
KLab Inc. / Tech
?
やっちゃえkntone developer[公開用]
やっちゃえkntone developer[公開用]
Kyouhei Kitagawa
?
ガチリアルな修罗チーム开発
ガチリアルな修罗チーム开発
Atsushi Kojima
?

Similar to 3年で6回リプレースをした エンジニアが語る! システムリプレースの極意 (20)

摆冲驳补罢谤补肠办别谤闭骋础のここがすき。ここがきらい。
摆冲驳补罢谤补肠办别谤闭骋础のここがすき。ここがきらい。
Toru Enomoto
?
performance hack 101
performance hack 101
Akira Miki
?
アウトソーシンク?嫌いのヘ?ンチャーか?2ヶ月间て?オフショア开発て?サーヒ?スをローンチしてみた(笔尝视点)
アウトソーシンク?嫌いのヘ?ンチャーか?2ヶ月间て?オフショア开発て?サーヒ?スをローンチしてみた(笔尝视点)
Kazuki Takahashi
?
データサイエンスの现场で役立つスキルを磨きやすい职场环境
データサイエンスの现场で役立つスキルを磨きやすい职场环境
Masatoshi Abe
?
20180925冲【サポーターズ颁辞尝补产勉强会】【営业から运用まで】データサイエンティストという职业
20180925冲【サポーターズ颁辞尝补产勉强会】【営业から运用まで】データサイエンティストという职业
Shunsuke Nakamura
?
第26回 萩本匠道场
第26回 萩本匠道场
Hagimoto Junzo
?
OutSystems Workflow Builder
OutSystems Workflow Builder
Tetsuo Ajima
?
アンラーニング
アンラーニング
Yoshiki Shibukawa
?
CustomerSuccess_recruiting_LT#6_20201223
CustomerSuccess_recruiting_LT#6_20201223
Toru Komaya
?
営业现场で困らないためのディープラーニング
営业现场で困らないためのディープラーニング
Satoru Yamamoto
?
齿笔祭り2017『忖度と心理的安全』(スライド公开用)#虫辫箩耻驳
齿笔祭り2017『忖度と心理的安全』(スライド公开用)#虫辫箩耻驳
Ryota Inaba
?
アート?オブ?アジャイル デベロップメント ~組織を成功に導くエクストリームプログラミングの道~
アート?オブ?アジャイル デベロップメント ~組織を成功に導くエクストリームプログラミングの道~
Fumihiko Kinoshita
?
How to develop a huge Single Page Application
How to develop a huge Single Page Application
Naoki Yamada
?
作らずにポテンシャルを検証する方法
作らずにポテンシャルを検証する方法
Shigeyuki Kameda
?
滨罢技术者でも1から学べるビジネスモデルキャンバス入门
滨罢技术者でも1から学べるビジネスモデルキャンバス入门
陽一 滝川
?
VOYAGE GROUPの成長する勉強会カルチャー
VOYAGE GROUPの成長する勉強会カルチャー
Hironori Miura
?
20180920_【ヒカ☆ラボ】【データサイエンティストが教える 】 機械学習、人工知能を使った「ビジネスになる」アプリケーションの作り方
20180920_【ヒカ☆ラボ】【データサイエンティストが教える 】 機械学習、人工知能を使った「ビジネスになる」アプリケーションの作り方
Shunsuke Nakamura
?
滨罢业界とソフトウェア技术者を取り巻く今日の様相と荒波の将来への船出
滨罢业界とソフトウェア技术者を取り巻く今日の様相と荒波の将来への船出
VOYAGE GROUP
?
Moneytize_with_assets_in_MonoGYM
Moneytize_with_assets_in_MonoGYM
Takashi Jona
?
3stepwallet
3stepwallet
ssuser8c461b
?
摆冲驳补罢谤补肠办别谤闭骋础のここがすき。ここがきらい。
摆冲驳补罢谤补肠办别谤闭骋础のここがすき。ここがきらい。
Toru Enomoto
?
performance hack 101
performance hack 101
Akira Miki
?
アウトソーシンク?嫌いのヘ?ンチャーか?2ヶ月间て?オフショア开発て?サーヒ?スをローンチしてみた(笔尝视点)
アウトソーシンク?嫌いのヘ?ンチャーか?2ヶ月间て?オフショア开発て?サーヒ?スをローンチしてみた(笔尝视点)
Kazuki Takahashi
?
データサイエンスの现场で役立つスキルを磨きやすい职场环境
データサイエンスの现场で役立つスキルを磨きやすい职场环境
Masatoshi Abe
?
20180925冲【サポーターズ颁辞尝补产勉强会】【営业から运用まで】データサイエンティストという职业
20180925冲【サポーターズ颁辞尝补产勉强会】【営业から运用まで】データサイエンティストという职业
Shunsuke Nakamura
?
第26回 萩本匠道场
第26回 萩本匠道场
Hagimoto Junzo
?
OutSystems Workflow Builder
OutSystems Workflow Builder
Tetsuo Ajima
?
CustomerSuccess_recruiting_LT#6_20201223
CustomerSuccess_recruiting_LT#6_20201223
Toru Komaya
?
営业现场で困らないためのディープラーニング
営业现场で困らないためのディープラーニング
Satoru Yamamoto
?
齿笔祭り2017『忖度と心理的安全』(スライド公开用)#虫辫箩耻驳
齿笔祭り2017『忖度と心理的安全』(スライド公开用)#虫辫箩耻驳
Ryota Inaba
?
アート?オブ?アジャイル デベロップメント ~組織を成功に導くエクストリームプログラミングの道~
アート?オブ?アジャイル デベロップメント ~組織を成功に導くエクストリームプログラミングの道~
Fumihiko Kinoshita
?
How to develop a huge Single Page Application
How to develop a huge Single Page Application
Naoki Yamada
?
作らずにポテンシャルを検証する方法
作らずにポテンシャルを検証する方法
Shigeyuki Kameda
?
滨罢技术者でも1から学べるビジネスモデルキャンバス入门
滨罢技术者でも1から学べるビジネスモデルキャンバス入门
陽一 滝川
?
VOYAGE GROUPの成長する勉強会カルチャー
VOYAGE GROUPの成長する勉強会カルチャー
Hironori Miura
?
20180920_【ヒカ☆ラボ】【データサイエンティストが教える 】 機械学習、人工知能を使った「ビジネスになる」アプリケーションの作り方
20180920_【ヒカ☆ラボ】【データサイエンティストが教える 】 機械学習、人工知能を使った「ビジネスになる」アプリケーションの作り方
Shunsuke Nakamura
?
滨罢业界とソフトウェア技术者を取り巻く今日の様相と荒波の将来への船出
滨罢业界とソフトウェア技术者を取り巻く今日の様相と荒波の将来への船出
VOYAGE GROUP
?
Moneytize_with_assets_in_MonoGYM
Moneytize_with_assets_in_MonoGYM
Takashi Jona
?
Ad

More from Hikaru Tanaka (12)

20200831 教育と学習
20200831 教育と学習
Hikaru Tanaka
?
20200817 プログラミングの基礎 その2
20200817 プログラミングの基礎 その2
Hikaru Tanaka
?
20200803 プログラミングの基礎
20200803 プログラミングの基礎
Hikaru Tanaka
?
20200727 コミュニケーションの技術
20200727 コミュニケーションの技術
Hikaru Tanaka
?
20200720 最新の技術事情の解説_チャットサービスの舞台裏_
20200720 最新の技術事情の解説_チャットサービスの舞台裏_
Hikaru Tanaka
?
20200706 技術に興味を持った人がすぐに読むべき技術書紹介
20200706 技術に興味を持った人がすぐに読むべき技術書紹介
Hikaru Tanaka
?
20200629 データベース基礎~データベースの扱いとデータ設計~
20200629 データベース基礎~データベースの扱いとデータ設計~
Hikaru Tanaka
?
20200622 webエンジニアのお仕事 ~開発手法と開発フロー~
20200622 webエンジニアのお仕事 ~開発手法と開発フロー~
Hikaru Tanaka
?
20200615 webってどうやって表示しているの?
20200615 webってどうやって表示しているの?
Hikaru Tanaka
?
20200608コンピューターってどうやって动いているの?
20200608コンピューターってどうやって动いているの?
Hikaru Tanaka
?
Holydayエンジニアチームの 評価制度について
Holydayエンジニアチームの 評価制度について
Hikaru Tanaka
?
教育とチームビルドの勘所
教育とチームビルドの勘所
Hikaru Tanaka
?
20200831 教育と学習
20200831 教育と学習
Hikaru Tanaka
?
20200817 プログラミングの基礎 その2
20200817 プログラミングの基礎 その2
Hikaru Tanaka
?
20200803 プログラミングの基礎
20200803 プログラミングの基礎
Hikaru Tanaka
?
20200727 コミュニケーションの技術
20200727 コミュニケーションの技術
Hikaru Tanaka
?
20200720 最新の技術事情の解説_チャットサービスの舞台裏_
20200720 最新の技術事情の解説_チャットサービスの舞台裏_
Hikaru Tanaka
?
20200706 技術に興味を持った人がすぐに読むべき技術書紹介
20200706 技術に興味を持った人がすぐに読むべき技術書紹介
Hikaru Tanaka
?
20200629 データベース基礎~データベースの扱いとデータ設計~
20200629 データベース基礎~データベースの扱いとデータ設計~
Hikaru Tanaka
?
20200622 webエンジニアのお仕事 ~開発手法と開発フロー~
20200622 webエンジニアのお仕事 ~開発手法と開発フロー~
Hikaru Tanaka
?
20200615 webってどうやって表示しているの?
20200615 webってどうやって表示しているの?
Hikaru Tanaka
?
20200608コンピューターってどうやって动いているの?
20200608コンピューターってどうやって动いているの?
Hikaru Tanaka
?
Holydayエンジニアチームの 評価制度について
Holydayエンジニアチームの 評価制度について
Hikaru Tanaka
?
教育とチームビルドの勘所
教育とチームビルドの勘所
Hikaru Tanaka
?
Ad

3年で6回リプレースをした エンジニアが語る! システムリプレースの極意