Difference between revisions of "Coding standards"
Jump to navigation
Jump to search
(3 intermediate revisions by the same user not shown) | |||
Line 1: | Line 1: | ||
=== Naming standards | === Naming standards === | ||
==== Package / naming placement ==== | ==== Package / naming placement ==== | ||
* Package name all lowercase | * Package name all lowercase | ||
* General platform entities | * General platform entities | ||
** Servlets: '''com.tsnocode.ui''' | ** Servlets: '''com.tsnocode.server.servlet''' | ||
** Fields: '''com.tsnocode.field''' | **Filters: '''com.tsnocode.server.filter''' | ||
** Views: '''com.tsnocode.views''' | **Core: '''com.tsnocode.ui''' | ||
** Fields: '''com.tsnocode.ui.field.<group>''' | |||
** Views: '''com.tsnocode.ui.views.<type> (item,list,statistics,)''' | |||
**Codeunit: '''com.tsnocode.codeunit.common''' | |||
* Solution specific code | * Solution specific code | ||
** TS customer app: | ** TS customer app: | ||
Line 25: | Line 28: | ||
* CodeunitService post fix name "Service" | * CodeunitService post fix name "Service" | ||
* Shared ressources include "Helper" | * Shared ressources include "Helper" | ||
==== Table naming ==== | |||
System tables should follow this syntax | |||
* lowercase | |||
* no special characters | |||
Reserved prefixes include | |||
* data_ | |||
* _data_ (deleted tables) | |||
=== Safety standards === | === Safety standards === | ||
Line 30: | Line 43: | ||
** Escape all string parameters using DbConnection.EscapeSQL | ** Escape all string parameters using DbConnection.EscapeSQL | ||
** Prepared statements | ** Prepared statements | ||
* Page codeunits should contain user group restrictions | * All Page codeunits should contain some user group restrictions, and set to be default off | ||
=== Review standards === | === Review standards === |
Latest revision as of 11:57, 24 April 2024
Naming standards
Package / naming placement
- Package name all lowercase
- General platform entities
- Servlets: com.tsnocode.server.servlet
- Filters: com.tsnocode.server.filter
- Core: com.tsnocode.ui
- Fields: com.tsnocode.ui.field.<group>
- Views: com.tsnocode.ui.views.<type> (item,list,statistics,)
- Codeunit: com.tsnocode.codeunit.common
- Solution specific code
- TS customer app:
- com.tsnocode.solution.app
- com.tsnocode.solution.customer
- com.tsnocode.solution.customer.app
- Vendor app:
- com.vendor.tsnocode.app
- com.vendor.solution.app
- TS customer app:
Class naming
Naming convention follows Java standard
- Starting with uppercase
- No special characters
- Seperate words with uppercase
In addition the following are recommended
- CodeunitPage post fix name "Page"
- CodeunitService post fix name "Service"
- Shared ressources include "Helper"
Table naming
System tables should follow this syntax
- lowercase
- no special characters
Reserved prefixes include
- data_
- _data_ (deleted tables)
Safety standards
- Input sanitization used in SQL, using either
- Escape all string parameters using DbConnection.EscapeSQL
- Prepared statements
- All Page codeunits should contain some user group restrictions, and set to be default off
Review standards
The following changes requires a formal code review
- Changes to the API
- Changes to common objects
- Command
- Security
- Controller
- DbConnection
- Creation of OR changes to
- Servlets
- CodeunitPagePublic
- Code containing SQL