コードの書き方で工数を減らす
あるシステムに対する仕様変更で、見積よりも大幅に工数が増えたことがあり、その原因として以下の理由があげられました。
そして、次回は仕様や内部構造を伝える時間を取りましょうということになりました。
しかし、もっとよい解決方法があります。
それは、
- 新しくチームに加入したプログラマが見ただけで理解できるコードを書く
です。
例えば以下の2つのコードを比べてみてください。
コードA
IF date > DATE1 and date < DATE2 THEN
result = qty * RATE * RATE2
ELSE
result = qty * RATE
END IF
コードB
IF IsSummer(orderDate) THEN
tax = SummerTax(quantity)
ELSE
tax = NormalTax(quantity)
END IF
コードAを見てもなんのことやらさっぱりです。
しかし、コードBは見ただけで「注文日が夏季の場合は税金が変わる」ということがわかります。
「夏季の税金を変更する」という仕様変更があった場合、コードAの場合はどこを変更していいのかさっぱりわかりませんが、コードBの場合は「SummerTax()」を修正すればいいんだと一目でわかります。
こういうコードを書いておけば、内部構造を説明するといった余計な工数をかけなくて済みます。