57:カラム名を統一する¶
データベースを設計したらカラム名がバラバラ、ということはないでしょうか? 小さな範囲でもルールを決めておくことで、開発時にタイプミスや勘違いを減らせます。
具体的な失敗¶
class Item(models.Model):
name = models.CharField(...)
reviewed = models.ForeignKey(User, ...)
item_kbn = models.PositiveSmallIntegerField(...)
delivery_type = models.PositiveSmallIntegerField(...)
publish_dt = models.DateTimeField(...)
created_at = models.DateTimeField(...)
このコードには以下のような問題があります。
reviewed
が外部キーかブール値かわかりにくい_type
と_kbn
でブレている_dt
と_at
でブレている
1つのテーブル内などで表記がブレていると、同じ型のものを類推しにくくなります。
また、この場合、たとえば Item.publish_at
とタイプミスする確率が上がります。
ベストプラクティス¶
カラムの型によってある程度揃えたほうが良いでしょう。
class Item(models.Model):
name = models.CharField(...)
reviewer = models.ForeignKey(User, ...)
item_type = models.PositiveSmallIntegerField(...)
delivery_type = models.PositiveSmallIntegerField(...)
published_at = models.DateTimeField(...)
created_at = models.DateTimeField(...)
(中略)詳細は書籍 自走プログラマー をご参照ください