Dane Harriganさん「Finding True Love in Legacy Software」
HerokuのAPIチームで働くDane Harriganさんのセッションは,
このセッションでは,
レガシーソフトウェアとは?
Daneさんの定義によれば,
- 誰か別の人から引き継いだ
- テストが行われていない
- 読んでも理解しにくい
- メンテナンスが行いにくい
- 誰も好まない
ソフトウェア開発を行っていれば,
名前が重要
もっとも重要なことは
Coreは万能です。なんでも追加可能です。どんどんと機能をCoreに追加していった結果,
「Core」
1つの責務を持つアプリに分割する
残念なことに,
例えば,
このようなソフトウェアのモジュール構成はデータベースであっても同様とのことです。
すべての情報を保持する万能なデータベースを作成すると,
真実の愛
レガシーソフトウェアは望ましいものではないとしつつ,
なお,
他にも
長永健介さん「30days Album の裏側 - レガシー Rails 編」
株式会社paperboy&co.にてWebサービスの開発に携わる長永さんの発表です
レガシーなコードにテストを書くこと
長永さんはRuby on Rails製で20万人以上の会員数を誇るオンライン写真共有サービス30days Albumの開発を担当してきて,
長永さんは健全にRailsアプリのコードベースを運営していくにはバージョンアップし続けていくことが必要だと話します。そこでRails2.
レガシーなコードに対してテストを追加するというのはとても難しいことですが,
テストを追加していくうちに,
そんな悩みを抱えた中,
技術的負債について
長永さんは
ひとつは
もうひとつは
レガシーなコードに対してどう立ち向かうか
私達は仕事でプログラマをやっているので,
一方,
まとめ
レガシーコードに対し技術的側面からのアプローチだけでなく,
質疑応答ではいくつか質問がありました。Railsの進化に追従するためにこれからも戦い続けるのか,
タシツキミハウさん「プログラミングのトレーニング」
ポーランドのApplicakeで"delicious"なソフトウェアを開発されているTaszycki Michalさんの発表です
Programming Workoutについて
プログラミングは複雑なスキルです。野球やマーシャルアーツも複雑なスキルです。しかし,
Programming Workoutはとてもシンプルなアイデアです。多くの面白いプロジェクトを経験する中で,
達人を目指すのにはモチベーションが重要です
Programming Workoutは基本的な2つの側面があります。肉体的なトレーニングをプログラミングにも適用すること。もうひとつはコミュニティをつくり,
マスターになるための4つのステップ
Programming Workoutのやり方を技術レベルごとに紹介します。
まずは初心者
次に未熟者
- Specific:具体的で
- Measurable:測定できる
- Acievable:チャレンジングだけど無理ではない
- Relevant:関連性がある
- Time-bound:期限がある
目標は人それぞれです。自分にあったゴールを決めるのが重要です。師匠を探すということも大事です。師匠は目標にすべき人でも,
名人
進捗を計測することはとても大事です。タイピングの練習をしているならばWPM
Adeptなレベルに達したら,
最後は達人
まとめ
札幌Ruby会議2012のテーマ