Conventions and Guidelines » Historie » Verze 3
Eliška Mourycová, 2021-04-18 06:09
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 | 3 | 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 | 1 | Eliška Mourycová | * 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 | 3 | Eliška Mourycová | * 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 | * Choose easily readable identifier names |
||
76 | * Favor readability over brevity |
||
77 | * Do not use underscores, hyphens, or any other nonalphanumeric characters |
||
78 | |||
79 | h3. Capitalization Conventions |
||
80 | https://docs.microsoft.com/en-us/dotnet/standard/design-guidelines/capitalization-conventions |
||
81 | |||
82 | * 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 | |||
92 | * Use camelCasing for parameters |
||
93 | |||
94 | h3. Code Commenting |
||
95 | |||
96 | * 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 | 2 | Eliška Mourycová | * Sign each file you create (at the beginning of the file add a comment with the following line): |
99 | 1 | Eliška Mourycová | "Author: Your Name" |
100 | |||
101 | h2. Wiki Documentation |