Skip to content

Naming Guidelines

Rushabh Mehta edited this page Oct 17, 2017 · 6 revisions

Naming something is probably the most important decisions that you need to take as a user. Here are some guidelines will selecting names

General Guidelines

  1. Naming should be something that is used in common language. There are legacy ERP systems that have a specific naming style, we should constantly keep away from those styles, going with a more simple naming style. Shopify is a great example of how to name things. For example, in legacy ERP systems, a Purchase Receipt is called as "Goods Receipt Note".
  2. Names should represent the essence of the concepts they represent and avoid accounting / management jargon.
  3. Names should be consistent with the rest of the system.

DocType naming

DocType names must be:

  1. Title Case
  2. Singular
  3. Multi word names should be separated by a space
  4. US English
  5. Child table names should be parent table names + the relation, for example "Sales Order Item"

Field Naming

  1. Labels must be Title Case
  2. Link names must be same as the DocType they refer to (for example Link to "Employee" should be employee)
  3. Table field names must plural and just be the relation, for example field name for "Sales Order Item" should be items
  4. Field name must be the slugged version of the label ("First Name" must be first_name)
  5. Avoid descriptions. Labels must be clear as possible.
  6. Use full names (not abbreviations)

Variable Naming

  1. Variables representing Document objects must be slugged versions of the DocType [example: sales_order = frappe.get_doc('Sales Order', 'SO-0001')]
  2. Variables representing names, should be suffixed with _name [example: sales_order_name]
  3. Child table in a loop can be d [example: for d in sales_order.items]
Clone this wiki locally