Your SlideShare is downloading. ×
"レガシーコード"再考
"レガシーコード"再考
"レガシーコード"再考
"レガシーコード"再考
"レガシーコード"再考
"レガシーコード"再考
"レガシーコード"再考
"レガシーコード"再考
"レガシーコード"再考
"レガシーコード"再考
"レガシーコード"再考
"レガシーコード"再考
"レガシーコード"再考
"レガシーコード"再考
"レガシーコード"再考
"レガシーコード"再考
"レガシーコード"再考
"レガシーコード"再考
"レガシーコード"再考
"レガシーコード"再考
"レガシーコード"再考
"レガシーコード"再考
"レガシーコード"再考
"レガシーコード"再考
"レガシーコード"再考
"レガシーコード"再考
"レガシーコード"再考
"レガシーコード"再考
"レガシーコード"再考
"レガシーコード"再考
"レガシーコード"再考
"レガシーコード"再考
"レガシーコード"再考
"レガシーコード"再考
"レガシーコード"再考
"レガシーコード"再考
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×
Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

"レガシーコード"再考

5,419

Published on

2014/03/25 (火) にあったDevLOVE関西「レガシーコードと対峙する方法を考える」の発表資料です。 …

2014/03/25 (火) にあったDevLOVE関西「レガシーコードと対峙する方法を考える」の発表資料です。
http://devlove-kansai.doorkeeper.jp/events/9463

Published in: Technology
0 Comments
12 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
5,419
On Slideshare
0
From Embeds
0
Number of Embeds
12
Actions
Shares
0
Downloads
13
Comments
0
Likes
12
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 1. レガシーコード 再考 レガシーコードと対峙する方法を考える 2014 03/25 #DevKan @irof
  • 2. @irof * ふつうのぷろぐらま * JVMの住人 TDDBC / 関西Javaエンジニ アの会 / 京都アジャイル 勉強会 / hoge駆動 ...
  • 3. 注意
  • 4. 注意「答え」なんて話ま せん。ありがたい話 なんてできません。 こんなとこに答えは ありません。基本な げっぱです。
  • 5. はじめに つぎに ところで さいごに あじぇんだ
  • 6. はじめに Legacy Code?
  • 7. レガシーコードって なんだろ?
  • 8. 長い
  • 9. 色々してる
  • 10. 複雑
  • 11. 変え にくい
  • 12. 意味 不明
  • 13. でも
  • 14. 価値がある これが厄介
  • 15. レガシーコード改善 ガイド の定義
  • 16. テストがないコード 一応これで話は進めますね
  • 17. つぎに context
  • 18. テストがあると 嬉しいこと
  • 19. 嬉しいことなんて 知ってるよね。 だからいいよね。 ……え、だめ?
  • 20. レガシーコードが 生まれる背景
  • 21. テスト 大変
  • 22. テストは大変 重要なことはみんな 知ってる でも工数かかるし……
  • 23. テスト 無理
  • 24. テストが作れない スキル無いし。 時間無いし。 仕組みないし。 手遅れだし。焼け石に水だし。
  • 25. 詰んでる じゃん… 「テストが無い」から スタートすると かなりつらい
  • 26. ところで Q
  • 27. 「テストが無い」と言う けれども。
  • 28. 「テストがある」って何 よ?カバレッジ?満足 感?何でもいいからあっ たらいいの? どう言う状況でテストが あるって言えるの?ゴー ルの見えないものはいつ まで経ってもゴールにな らないよね??
  • 29. 「レガシーコード」と言 うけれども。
  • 30. 何が悪いの?不具合があ る?読みにくい?何をし ているかわからない?変 更が大変?変更したら間 違えるから?変更に時間 がかかるから?レガシー さが問題になるのってい つ??
  • 31. 投げっ放すんだけどね……
  • 32. さいごに rethink
  • 33. 捨てられない 変えられない 何をしているかわからない。複雑で。スキル不足とかね。スキル不足は恥じることじゃない。だってコードは簡単に人間の持ちう るスキルを超えるし。その閾値、人知の限界を超えないように抑えないといけない。スキルを超えたかは例えば自動テストが書け るかで測れたりする。 変えられなくした プロセス的に。その背景はある。「動いているコードに触ってはいけない」ってのは聞いたことあるよね。これはソフトウェアの 変更がとても危険だから。でも変更って発生するよね。必ず。変更できるからソフトウェアだよね。なんで変更出来なくしちゃっ てるの? 再考 レガシーコード
  • 34. レガシーコードと対峙する レガシーコードの発生源を断つ レガシーコードを改善する
  • 35. 思ってること レガシーコードと戦うには、文化を変えなけ ればならない。 戦うべくはレガシーコードだけではない。戦 えなきゃ話にならないけれど。 変更時に変更個所以外を変更できなければな らない。いわゆるボーイスカウトルールを実 践が出来るか?はボーダーになるかも。
  • 36. ゴールはどこ? プロダクトのハンドルを握るために、 変更可能にして、それを維持したい。

×