プログラムの部品化。再利用性を高める。 現在の仕様をもとに設計して、部品が使い回せるようにするのは当たり前だけど、 将来の追加機能も予想した上で、部品の設計をする。 理想は部品自体には手を加えな...
プログラムの部品化。再利用性を高める。現在の仕様をもとに設計して、部品が使い回せるようにするのは当たり前だけど、
将来の追加機能も予想した上で、部品の設計をする。
理想は部品自体には手を加えないで済むことだけど、手を加えるのも簡単にできるようにする。
予想というか定石なのかもしんないけど。
「ほげデータを取ってきて、シャッフルして、返す機能」を作れば、
ふがページでもふーページでもデータが表示できて便利だよね。
それはもちろんやるんだけど、
「シャッフルしたくないときはどうするの?」と考えるべきで、
データを取ってくる機能とシャッフルする機能は分けるべき。
テストがあるからいつでもリファクタリングできるというのはそうなんだけど、
ライブラリのインタフェースを変えるのはコストが高い。
というようなことを突き詰めていった先に、バグの少ないコードだとか、工数の削減だとか、
そういうのがあるのかというと謎なんだけどね。
今はこの道が正しいと仮定して進むか。
こういうのチーム単位でやってこうとすると、コードレビューやるとして、
不満のあるところは直していく、直すだけの時間を取る、そういうのが必要だよな。
スケジュールが押してくると適当になってしまうというのはあるだろうなあ。
ペアプロは、あれはあれで難しかった。
同じくらいの知識のある人同士で
議論しながらコーディングするというパターンだとまあまあなんだけど、
教える側に立つと全然駄目になってしまう。
もう2時だし、また考えよう。