Projekt

Obecné

Profil

Conventions and Guidelines » Historie » Verze 4

Eliška Mourycová, 2021-04-18 06:23

1 1 Eliška Mourycová
h1. Conventions and Guidelines (WIP)
2
3
h2. Issue Management
4
5 2 Eliška Mourycová
h3. Issue Trackers
6 1 Eliška Mourycová
7 3 Eliška Mourycová
This section explains, which tracker should be used for which type of issue.
8
9
* *Bug*
10 1 Eliška Mourycová
Use this tracker when the issue references a known bug that needs to be fixed.
11 3 Eliška Mourycová
* *Enhancement*
12 1 Eliška Mourycová
???
13 3 Eliška Mourycová
* *Task*
14 2 Eliška Mourycová
Use this tracker for issues related to implementation of a designed/analyzed part of the system.
15 3 Eliška Mourycová
* *Support*
16 1 Eliška Mourycová
Use this tracker for issues related to non-implementation task, e.g. any meeting issues, wiki editing, ...
17 3 Eliška Mourycová
* *Feature*
18 2 Eliška Mourycová
???
19 1 Eliška Mourycová
20
h3. Logging Time
21
22 3 Eliška Mourycová
When logging time for an issue, you should write a short comment, unless the subject of the issue is self-explanatory and the issue is going to be resolved, after you log the time, e.g. logging time for meetings.?
23 1 Eliška Mourycová
24
h4. Activity for Time Logging
25
26 3 Eliška Mourycová
* *Unspecified*
27 2 Eliška Mourycová
Do not use this activity.
28 3 Eliška Mourycová
* *Analysis*
29 2 Eliška Mourycová
Use this activity, when you're logging time for anything analytical, for example research/interface design/... ???
30 3 Eliška Mourycová
* *Design*
31 2 Eliška Mourycová
???
32 3 Eliška Mourycová
* *Implementation*
33 2 Eliška Mourycová
Use this activity, when you're logging time for implementing (coding) anything
34 3 Eliška Mourycová
* *Verification*
35 2 Eliška Mourycová
???
36 3 Eliška Mourycová
* *Documentation*
37 1 Eliška Mourycová
Use this activity, when you're logging time for creating/editing some documentation for exaplmple in some wiki page(s)
38 3 Eliška Mourycová
* *Administrative*
39 2 Eliška Mourycová
Use this activity for meetings
40
41
42
If the work you did matches more than one of the activities, either log time separately or choose such activity you spent most time doing.
43
44 1 Eliška Mourycová
45
46
h2. Code Contributions (Commits)
47
48
h3. Linking Commits to Issues
49
50 4 Eliška Mourycová
Every commit must be linked to an issue, i.e. in each commit use the key word *Re #<issue-no>*. Alternatively, you can use the key word *refs #<issue1-no>, #<issue2-no>*, although it is preferable for each commit to be linked with exaclty one issue.
51
If you think your commit is not related to any existing issue, link it to the "Refactoring" issue (such issue will be prepared for every iteration).
52
It is preferable for the keyword(s) to appear at the very beginning of a commit message.
53
You can use other keywords for referencing issues in commit messages, e.g. *closes, fixes, done, fixed* - these keywords also affect the issue itself. It is not required to use these keywords.
54 1 Eliška Mourycová
55
Note.: The keywords are caseinsensitive and at least one blankspace or colon is needed between the keyword and the first hash to produce a match (taken from Redmine doc).
56
57
h3. Commit messages
58
59
Every commit must have a commit message briefly explaining what the changes in the commit do.
60
61
62 3 Eliška Mourycová
h3. End of Iteration Tags
63 1 Eliška Mourycová
64
????
65
66
67
h2. Coding and Code Documentation
68
69
When coding, use the generally known best practices (whether they concern the used language or not), see some of the coding conventions for C# at https://docs.microsoft.com/en-us/dotnet/csharp/programming-guide/inside-a-program/coding-conventions.
70
71 3 Eliška Mourycová
72
h3. General Naming Conventions
73
https://docs.microsoft.com/en-us/dotnet/standard/design-guidelines/general-naming-conventions
74
75 4 Eliška Mourycová
Choose easily readable identifier names
76
Favor readability over brevity
77
Do not use underscores, hyphens, or any other nonalphanumeric characters
78 3 Eliška Mourycová
79
h3. Capitalization Conventions
80 1 Eliška Mourycová
https://docs.microsoft.com/en-us/dotnet/standard/design-guidelines/capitalization-conventions
81
82 4 Eliška Mourycová
Use PascalCasing (i.e. camelCasing with the first character capitalized) for naming the following types of identifiers:
83
* Namespace
84
* Type
85
* Interface
86
* Method
87
* Property
88
* Event
89
* Field
90
* Enum value
91 3 Eliška Mourycová
92 4 Eliška Mourycová
Use camelCasing for parameters
93 3 Eliška Mourycová
94
h3. Code Commenting
95
96 4 Eliška Mourycová
Use documentation comments for classes and methods (see https://docs.microsoft.com/en-us/dotnet/csharp/language-reference/language-specification/documentation-comments)
97
Use in-code comments too - the rules for this aren't strict, but try to comment every line/block of code, which might be even a little unclear to the reader
98
Sign each file you create (at the beginning of the file add a comment with the following line): "Author: Your Name"
99 3 Eliška Mourycová
100
h2. Wiki Documentation
101 4 Eliška Mourycová
102
On the wiki main page, you can find links to most of the important pages related to the project.
103
On some of the pages, the links to child pages appear in the text - if you struggle to find anything, go to *Index by title* and find the page you are looking for there.
104
Write/edit pages in English.