From Guideline of frappe Standard for Contribution
- naming should be
https://github.com/frappe/erpnext/wiki/ ... ype-naming
**DocType naming
DocType names must be:
1. Title Case
2. Singular
3. Names with multiple words should be separated by a space. Example "Sales Invoice"
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 be 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 as 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]
4. Avoid using numbered variables, like i1, i2 etc. Use descriptive variables.
**Numbering Series
For auto naming, use the format [MOD]-[DOC]-.YYYY.- where MOD is the module abbreviation and DOC is the DocType abbrevation.
For example: Lead in CRM module should be CRM-LEAD-.YYYY.-
/***** Most Important
Break functions/methods more than 10 lines of code
***********/