CodeKataやってみた記事、第八弾です。
今回は、Kata08: Conflicting Objectives
をやっていきます。
Conflicting Objectives
は、「矛盾した目的」と訳しています。
- 概要
- Kataの説明
- 終わった後
- 自分なりの答え
- 事前説明
- 一回目:できる限り読みやすいコード
- 二回目:できる限り動作速度を上げるように最適化
- 三回目:拡張性を重視
- 終了後:相互作用について
- 動作速度と可読性
- 動作速度と拡張性
- 拡張性と可読性
- おわりに
概要
ソースを書く目的の一つの側面は、世の中の問題を解決し、世界にある種の価値を加えること。
しかし、二次的な目的として、問題解決しつつ、できるだけ速く、簡単にメンテナンス、拡張するというものがある。
Kataの説明
簡単なソースを、3つの二次的目的をもって書く。
以前(Kata05
やKata06
のこと)使った辞書を使い、二つの単語をつなげて6文字の単語を作る。
例:
Angles = Angl + es
Delton = Del + ton
3つの目的は、
- 一回目:できる限り読みやすいコード
- 二回目:できる限り動作速度を上げるように最適化
- 三回目:拡張性を重視
のこと。
終わった後
3つの目的の相互作用を考える
これらを実施することが最適化を意味する?
いつものように、続きは一応隠します。(直接見ると隠れません)
続きを読む