Actions
Coding Guideline » History » Revision 9
« Previous |
Revision 9/17
(diff)
| Next »
Carsten Rose, 06.11.2022 18:35
Coding Guideline¶
QFQ General¶
I-MATH¶
- Tabelle:
- Name: Camel case, erster Buchstabe gross, kein Underscore. Bsp:
FormElement
- Im ERD sollte bei jeder Tabelle auch die zu verwendende Abkürzung genannt werden. Bsp:
FormElement - fe
- Sind in
- Name: Camel case, erster Buchstabe gross, kein Underscore. Bsp:
- Spalten:
- Name: Camel case, erster Buchstabe klein, kein Underscore. Bsp:
formId
- Erste Spalte:
id
, Primary Key. - Vorletzte Spalte:
created
, datetime, default: current timestamp - Letzte Spalte:
modified
, datetime, default: current timestamp, on update current timestamp - Wird auf einen Primary Key einer anderen Tabelle verwiesen, ergibt sich der Name aus <Kuerzel><Id>. Bsp:
pId
.- Gibt es in einer Tabelle a) mehrere Spalten auf die gleiche Fremdtabelle (und muessen daher unterschiedlich sein) oder b) soll der Spaltenamen klarer beschreiben, kann eine Spezifizierung angehängt werden. Bsp:
pIdApplicant
,pIdHead
. Auf jeden Fall steht daspId
am Anfang .
- Gibt es in einer Tabelle a) mehrere Spalten auf die gleiche Fremdtabelle (und muessen daher unterschiedlich sein) oder b) soll der Spaltenamen klarer beschreiben, kann eine Spezifizierung angehängt werden. Bsp:
- Name: Camel case, erster Buchstabe klein, kein Underscore. Bsp:
- Formular
- Name: Camel case, erster Buchstabe klein, kein Underscore. Bsp:
formElement
- Sind in einer Instanz mehrere Tools, sollten die Forms anhand eines Prefixes unterschieden werden. Bsp:
dissReview
,maReview
.
- Name: Camel case, erster Buchstabe klein, kein Underscore. Bsp:
- Spalte 'reference'
- Name: Als Vorbereitung um unterschiedliche Tools aus verschiedenen Instanzen mergen zu koennen, wird empfohlen die Referenz Records mit einem eindeutigen Prefix zu versehen. Bsp:
my_exercise_group
- Name: Als Vorbereitung um unterschiedliche Tools aus verschiedenen Instanzen mergen zu koennen, wird empfohlen die Referenz Records mit einem eindeutigen Prefix zu versehen. Bsp:
- BPMN
- Zeichnung via DrawIO
- ERD
- Zeichnung via DrawIO
- Constants
- Define constants in
Extensions > QFQ > Custom > ...
- Dynamic values under
Extensions > QFQ > Dynamic > ...
- Define constants in
- QFQ content record
- Name the record in the header field with:
- Regular content: [QFQ] ...
- Content in the left column: [QFQ,L] ...
- Content in englisch: [QFQ,E] ...
- The first lines should be comments, explaining what the record does and list all passed variables (STORE_SIP, STORE_USER). Optional variables are indicated by using STORE_EMPTY or STORE_ZERO:
# # Shows list of Persons living in {{country:SE}} # # {{country:SE}} #
- Normalize variables: A good practice is to define all possible STORE_SIP Parameter in a SQL at the beginning and copy them to STORE_RECORD:
10 { # Normalize variables sql = SELECT '{{country:SE}}' AS _country # List selected persons per country 20.sql = SELECT p.name FROM Person AS p WHERE p.country LIKE '{{country:R}}' }
- Always comment the queries like shown above.
- Indention are two spaces and reflect child parent relation. Example: A WHERE clause is a child of a SELECT , an AND statement is a child of a SELECT or LEFT JOIN ... ON ....
10 { # All persons sql = SELECT p.name , GROUP_CONCAT(adr.email) FROM Person AS p LEFT JOIN address AS adr ON adr.pId=p.id AND adr.type='email' WHERE p.type='employee AND CURDATE() < p.end GROUP BY adr.pId }
- Name the record in the header field with:
- QFQ Form
- Mandatory SIP parameter should to be mentioned in Form.requiredNew and/or Form.requiredEdit.
- If the title of a FormElement isn’t descriptive enough, use tooltip, note or extraButtonInfo to explain to a user.
- Every Form should show a descriptive title to identify the task and current record. E.g. Not ‘Person’ but ‘Person: John Doe’.
- Often the length of a pill title if not sufficient, use a tooltip to give a more descriptive hint.
Updated by Carsten Rose over 1 year ago · 9 revisions