SE(たぶん)の雑感記

一応SEやっている筆者の思ったことを書き連ねます。会計学もやってたので、両方を生かした記事を書きたいと考えています。 でもテーマが定まってない感がすごい。

CodeKataで遊ぶ Kata08: Conflicting Objectives

CodeKataやってみた記事、第八弾です。

今回は、Kata08: Conflicting Objectivesをやっていきます。

codekata.com

Conflicting Objectivesは、「矛盾した目的」と訳しています。

  • 概要
  • Kataの説明
  • 終わった後
  • 自分なりの答え
    • 事前説明
    • 一回目:できる限り読みやすいコード
    • 二回目:できる限り動作速度を上げるように最適化
    • 三回目:拡張性を重視
  • 終了後:相互作用について
    • 動作速度と可読性
    • 動作速度と拡張性
    • 拡張性と可読性
  • おわりに

概要

ソースを書く目的の一つの側面は、世の中の問題を解決し、世界にある種の価値を加えること。

しかし、二次的な目的として、問題解決しつつ、できるだけ速く、簡単にメンテナンス、拡張するというものがある。

Kataの説明

簡単なソースを、3つの二次的目的をもって書く。

以前(Kata05Kata06のこと)使った辞書を使い、二つの単語をつなげて6文字の単語を作る。

例: Angles = Angl + es
Delton = Del + ton

3つの目的は、

  • 一回目:できる限り読みやすいコード
  • 二回目:できる限り動作速度を上げるように最適化
  • 三回目:拡張性を重視

のこと。

終わった後

3つの目的の相互作用を考える

これらを実施することが最適化を意味する?


いつものように、続きは一応隠します。(直接見ると隠れません)

続きを読む