Skip to content
GitLab
Explore
Sign in
Primary navigation
Search or go to…
Project
G
gitlab - helloworld
Manage
Activity
Members
Labels
Plan
Wiki
Code
Merge requests
Repository
Branches
Commits
Tags
Repository graph
Compare revisions
Snippets
Build
Pipelines
Jobs
Pipeline schedules
Artifacts
Deploy
Releases
Package registry
Container registry
Model registry
Operate
Environments
Terraform modules
Analyze
Value stream analytics
Contributor analytics
CI/CD analytics
Repository analytics
Model experiments
Help
Help
Support
GitLab documentation
Compare GitLab plans
GitLab community forum
Contribute to GitLab
Provide feedback
Terms and privacy
Keyboard shortcuts
?
Snippets
Groups
Projects
Show more breadcrumbs
Assistance Systems
01_Tools
gitlab - helloworld
Commits
d0a7e8bb
Commit
d0a7e8bb
authored
3 years ago
by
Tom Tiltmann
Browse files
Options
Downloads
Patches
Plain Diff
add code conventions
parent
af56ad4f
Branches
Branches containing commit
No related tags found
No related merge requests found
Changes
1
Show whitespace changes
Inline
Side-by-side
Showing
1 changed file
code_conventions.h
+76
-0
76 additions, 0 deletions
code_conventions.h
with
76 additions
and
0 deletions
code_conventions.h
0 → 100644
+
76
−
0
View file @
d0a7e8bb
/*
Konventionen zur Namensgebung und Kommentierung im Quelltext
============================================================
* Klassen werden groß geschrieben. Alle Anfangsbuchstaben innerhalb des Klassennamens werden groß geschrieben.
* Variablennamen werden klein geschrieben.
* Membervariablen werden klein geschrieben.
* Funktionen/Methoden haben die gleiche Groß- und Kleinschreibung, wie Variablen.
* Konstanten bestehen nur aus Großbuchstaben, Wörter in den Konstantennamen werden durch "_" getrennt.
* Funktionen/Methodennamen enthalten Verben, Klassennamen enthalten Substantive.
* Kommentare für Funktionen/Methoden, falls überhaupt nötig, enthalten:
-- Eine allgemeins Beschreibung der Funktion/Methode
-- Eine Beschreibung jedes einzelnen Parameters
-- Eine Beschreibung des Rückgabewertes
-- Der zulässige Wertebereich der Parameter und der Wertebereich des Rückgabewertes
-- Besonderheiten (z.B. geworfene Exceptions,...)
* Auch Klassen können Kommentare enthalten, in denen Allgemeines über die Klasse steht.
* Alle Bezeichner auf Englisch. Alle Kommentare auf Deutsch!
* Einrückung nach VS Code Autoformatieren
* Variablennamen haben sprechende Namen, die durchaus etwas länger sein können.
Konventionen zur Programmierung
===============================
* In jede Headerdatei gehört : #ifndef.. #define.. #endif
* Jede Funktion/Methode soll nur eine Aufgabe übernehmen.
* Jede Funktion/Methode erhält die von ihr benötigten Daten per Parameter (am besten als Referenz)
-> damit werden die Funktionen/Methoden besser testbar
* Jede Funktion/Methode soll mit einem oder mehreren Unittests getestet werden, soweit das möglich ist.
*/
#ifndef CODE_CONVENTIONS_H
#define CODE_CONVENTIONS_H
#define KONST_TO_SHOW
class
ClassForDemonstration
{
private:
byte
member_example_1
;
byte
memberExample2
;
public:
byte
get_member_1
()
{
return
member_example_1
;
};
byte
getMember2
()
{
return
memberExample2
;
};
void
set_member_1
(
byte
aValue
)
{
member_example_1
=
aValue
;
};
void
setMember2
(
byte
aValue
)
{
memberExample2
=
aValue
;
};
};
ClassForDemonstration
demo_object
;
void
setup
()
{
Serial
.
begin
(
115200
);
}
void
loop
()
{
fill_object
(
demo_object
);
serial_out_object
(
Serial
,
demo_object
);
Serial
.
println
();
}
void
fill_object
(
ClassForDemonstration
&
aObject
)
{
aObject
.
set_member_1
(
millis
());
aObject
.
setMember2
(
millis
());
}
void
serial_out_object
(
Stream
&
aStream
,
ClassForDemonstration
&
aObject
)
{
aStream
.
print
(
aObject
.
get_member_1
());
aStream
.
print
(
"
\t
"
);
aStream
.
print
(
aObject
.
getMember2
());
}
#endif
\ No newline at end of file
This diff is collapsed.
Click to expand it.
Preview
0%
Loading
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Save comment
Cancel
Please
register
or
sign in
to comment