2018年7月23日月曜日

数値と明確化

とある計画をしていて、改めて
明確化する上で数値は重要だと感じました。

目指す姿や中間状態、などを具体化する上で数値が無いと
どこまで行っても曖昧な部分が残ります。

ですが、
数値が入ると、現実的なアクションや
現実的なアクションを実施する上での不明点が明確になります。

当たり前の事なのですが、自分自身では気づき難い事なのだと
改めて認識しました。

数値化しないと、曖昧な事に気づけない。
自分では具体化、詳細化しているつもりなので、気づけない。
つまり、思い込みであり、アサンプションですね。

数値化したとたんに、今まで具体化していたのは何だったのだろう!
と思ってしまいました。(つまり、今までの検討が無駄だった!)

しかも、数値はある程度大きくする事が重要だとも感じました。

実現出来そうな数値よりも、大きめにする設定する事で、
見えていなかった部分が見えるようになります。
見ないようにしていた部分にまで、踏み込んでいく必要があるので、
より確実に目標値の達成に近づくと思います。

数値化する。大きめの数値を設定する。
この2点は、昨年から周囲に推奨していたやり方なのですが、
自分では気付き難い事なのだと、改めて認識しました。
さて、自分で気付く為に、どうしたら良いものか…


2018年7月4日水曜日

データ構造のリファクタリング

先日、移動中の車での話題です。

単体テストについて話をしていたところ、
いろいろと整理ができました。

単体テストとリファクタリングがセットなのは
だいぶ浸透している気がします。

構造を常に良くしていくには、
常にリファクタリングしていく感じがベストですね。

しかし、その際に、意外と忘れられているのが
データ構造のリファクタリング!

モジュールやクラスなどの構造は良くするのですが、
データ構造に手を付けないために、
構造がある時点から良くならないケースはありませんか?

もしくは、これ以上、良くならないな。
などと、思うときはデータ構造のリファクタリングをすると
更に良くなるケースがあります。

もちろん、
構造とデータを同時にリファクタリングしていくのがベストですが、
まず構造にのみ注力しがちな気がします。(私だけかな?!)

単体テストを容易にするためにも
処理をシンプルにする為にも
ジェネレータなどを作成して、抽象化したモデルから
必要な処理に必要なデータだけを取り込む工夫は不可欠ですね。