2015-03-17_dev2_LT

 2015-03-17_dev2_LT

#でぶつー でのLT

最近関わったプロジェクトで得た、これはなるべくやって欲しくないことをざっくり挙げていきました。
将来のプロジェクトで同じ轍を踏まないように書き残しておきます。

A473164add8debfea01e4eb70e07d1ea?s=128

SUZUKI Masashi

March 17, 2015
Tweet

Transcript

  1. すぐそこにある レガシー 開発2部 LT すずきまさし / @masasuz 2015/03/17 1

  2. おまえだれよ すずきまさし / @masasuz 五反田の辺りにある中小web企業 開発/運用基盤的整備 社内システム開発 zsh / perl

    / MySQL / Ubuntu / Debian / i☆Ris 2
  3. 最近使っている ツール/技術/ミドルウェア Elasticsearch Fluentd Gitbucket 3

  4. 今年使いたい ツール/技術/ミドルウェア Docker Ansible Sensu 4

  5. 最近CPAN Author になりました。 5

  6. 6

  7. レガシー 最近レガシーなコードをいじっていまし た。そこで得た知見を書いていきます。 アンチパターンまで落とし込めれば誰か が助かるかなと思いますのでそのうちま とめるかも。 Perlなプロジェクトです。 誇張表現があります。フィクションです。 7

  8. 8

  9. READMEがない 9

  10. 不明なセットアップ 手順 10

  11. ドキュメントが間違っ てる/更新されてない 11

  12. 12

  13. DBスキーマ定義 ファイルが本番と違う 13

  14. テストがメンテナンス されてない 14

  15. テストの実行の仕方 が分からない 15

  16. テストを回すと なぜか共用DBのデータが 書き換わる 16

  17. 17

  18. クラスビルダー(Moose/ Mouse)を無駄に利用 18

  19. 状態を持たないクラスの 無駄なインスタンス化 19

  20. 同じ目的のモジュールを 複数使用 (ORMを複数使用等) 20

  21. 同じ目的の処理をプロ ジェクト内で複数実装 21

  22. 使われてないコードが 消されずに残ってる 22

  23. 理由が不明なコメント アウトされたコード 23

  24. 過度なプラグイン使用 24

  25. 多重継承 25

  26. 継承が無駄に深い 26

  27. 継承するだけで、何も上 書きしないモジュール 27

  28. useするだけで本処理が 走るモジュール 28

  29. 29

  30. CPANモジュールに独自 パッチ 30

  31. CPANに上がってない独 自モジュール 31

  32. CPANモジュールと独自 モジュールの名前衝突 32

  33. 33

  34. なお、この物語は フィクションです 34

  35. ありがとう ございました 35