Avoid Custom Fields Unless Absolutely Necessary

Avoid Custom Fields Unless Absolutely Necessary

Custom fields... They seem like a great idea upfront, especially to the business people because they avoid defining their forms upfront, and they think it will help them avoid development later on. However, often I've seen much more trouble than benefit in the indiscriminate use of custom fields.

Querying information from custom fields tends to be very slow and more complex, and it becomes immensely challenging to integrate data between modules that have a lot of custom fields because the fields on either end are changing and inconsistent.

Limit custom fields to a minimum. Take the effort to define most of your fields as regular relational columns.

Where you need custom fields, avoid the usual EAV model, and instead prefer JSON-like column types present now in all major RDBMSs (e.g. JSONB in Postgres). JSON-like columns support robust query languages and, often, indexing of the documents and fields, helping with performance and data integrity.

要查看或添加评论,请登录

Calen Martin Legaspi的更多文章

  • "Sprint Zero" Activities Can't Fit in One Sprint!

    "Sprint Zero" Activities Can't Fit in One Sprint!

    Extreme Programming (XP), Scrum and Kanban emerged from the rescue of so called "Death March Projects" - projects that…

  • Alternative to Fixed-Price Contracts in Software Development

    Alternative to Fixed-Price Contracts in Software Development

    Overwhelming evidence shows that fixed-price, fixed-scope contracts fail in software development. I won't rehash the…

    4 条评论
  • Story Points Are Not Function Points!

    Story Points Are Not Function Points!

    Story Points are not Function Points! We tried Function Points in the 80s & 90s already and they didn't work! Now many…

  • Why Do We Need the Philippine Skills Framework?

    Why Do We Need the Philippine Skills Framework?

    I have the honor of helping draft the Philippine Skills Framework on Software Development and Security. This is the…

    4 条评论
  • User Stories Come in Many Forms

    User Stories Come in Many Forms

    Kent Beck never specified a format for User Stories. He just basically wanted the elicitation of requirements to be in…

  • Teaching Mockito in a Less Mystical Way

    Teaching Mockito in a Less Mystical Way

    It was my first time teaching Mockito to a face-to-face class yesterday (I've taught it before to online classes), so…

  • Interface-InterfaceImpl Anti-Pattern

    Interface-InterfaceImpl Anti-Pattern

    You don't need to do the Interface - InterfaceImpl anti-pattern. There's a misunderstanding of two design principles:…

    3 条评论
  • First Time Teaching Scrum in School Class

    First Time Teaching Scrum in School Class

    Just some notes on how I'd teach Scrum in a school class the next time around. School Schedules Incompatible with…

  • A Senate of Scientists

    A Senate of Scientists

    We tend to ignore scientists until people start dying on a massive scale. The coronavirus epidemic was predicted by…

    1 条评论

社区洞察

其他会员也浏览了