Code

2014年3月27日木曜日

デフォルト値の重要性を見える例

 今後、Junior 開発者とコードレビューするとき、データ設計の重要性とデフォルト値を設定すべきだと伝える例です。

 すべての値を各レコードに書くより、あるデフォルト値を外に設定して、特別な時だけ、特別な値を設定すべき。
 これで、かなりのマニュアル操作が減らせます。
 一つの例:
 ある、JSON ファイルに uri があります。
    { sections: [
           {
               uri: "http://example.com/12345",
               story-uri: "http://example.com/{0}"
           },
           {
               uri: "http://example.com/45678",
               story-uri: "http://example.com/{0}"
           },
           {
               uri: "http://example.com/1804232",
               story-uri: "http://example.com/{0}"
           },
           {
               uri: "http://example.com/2431245",
               story-uri: "http://domain2.example.com/{0}"
           }
    ]}

 最後の一個だけ story-uri が他と違います。もし、こういうレコードが何十個にあると、修正するにはかなり時間がかかります。

それで、下記の JSON に変更すれば:
    { sections: [
           {
               uri: "http://example.com/12345"
           },
           {
               uri: "http://example.com/45678"
           },
           {
               uri: "http://example.com/1804232"
           },
           {
               uri: "http://example.com/2431245",
               story-uri: "http://domain2.example.com/{0}"
           }
     ],
     common-story-uri: "http://example.com/{0}"
}

 コードには、まず各レコードに story-uri があるかどうかチェックして、もしあったら、それを使います。もしなければ、common-story-uri を使います。多分5行ぐらいのコードですむことです。こうすれば、不要な重複をなくして、レコードの story-uri を変更するときも一目瞭然です。

 これは Fall back というんです。それでは。

0 件のコメント:

コメントを投稿