Zum Inhalt springen

Programmier Tipps & Tricks


Empfohlene Beiträge

ich suche eine Sammlung von Tipps wie ich den Quellcode für übersichtlich und leicht verständliche mache.
Herzlich Willkommen in einer aufkommenden Style-Diskussion :)

Spaß beiseite, das Problem ist, dass es nicht den übersichtlichen und verständlichen Quellcode gibt. Jeder stellt sich darunter etwas anderes vor. Frage zwei Leute nach einem guten Styleguide und du wirst (mind.) drei verschiedene Antworten bekommen.

Es gibt verschiedene Ansätze, dieses Problem zu lösen und einen allgemeinen Code-Style zu erstellen. Wirklich durchgesetzt hat sich allerdings (zumindestens was C und C++ angeht) keiner.

Ein Beispiel, bei dem sich wunderbar streiten lässt ob jetzt mehr oder weniger Übersicht brint, wäre z.B. die Ungarische Notation

In diesem Zusammenhang auch ganz interessant: How to Write Unmaintainable Code

Link zu diesem Kommentar
Auf anderen Seiten teilen

GNU Coding Standards

http://www.gnu.org/prep/standards/standards.html

C++ Coding Standards

http://www.weirdrealm.com/prog/cppstds.html

Code Conventions for the JavaTM Programming Language

http://java.sun.com/docs/codeconv/html/CodeConvTOC.doc.html

Visual Basic Coding Standards

http://www.minich.com/education/racc/visualbasic/codingstandards/

und so weiter ... es gibt so ziemlich für jede sprache einen coding standard oder zumindest einige grundregeln.

ich denke, allgemeiner formulieren kann man es nicht mehr - obwohl ich befürchte, dass du eher ein noch allgemeineres tutorium suchst.

s'Amstel

Link zu diesem Kommentar
Auf anderen Seiten teilen

Ich kann dir zwar keine Seite, aber dafür ein kleines Beispiel wie ich es mir angewöhnt habe liefern:


#include <windows.h>

LRESULT CALLBACK MainProc(HWND, UINT, WPARAM, LPARAM);

struct GLOBALS
{
HWND hMainWindow;
HINSTANCE hInst;

}g_={0,0};


APIENTRY WinMain(HINSTANCE hInstance,
HINSTANCE,
LPSTR lpCmdLine,
int nCmdShow)
{
MSG Msg;
WNDCLASS wc;

g_.hInst = hInstance;
memset(&wc,0,sizeof(wc));
wc.hCursor = LoadCursor(0,IDC_ARROW);
wc.hInstance = hInstance;
wc.lpfnWndProc = MainProc;
wc.lpszClassName = "Test 4";
wc.style = CS_CLASSDC;

if (!RegisterClass(&wc))
return FALSE;


g_.hMainWindow = CreateWindow("Test 4","Titel",
WS_OVERLAPPEDWINDOW,
100,100,
300,300,
GetDesktopWindow(),0,
hInstance,0);
ShowWindow(g_.hMainWindow,nCmdShow);
UpdateWindow(g_.hMainWindow);

while(GetMessage(&Msg,0,0,0))
{
TranslateMessage(&Msg);
DispatchMessage(&Msg);
}
return Msg.wParam;
}

LRESULT CALLBACK MainProc(HWND hWnd, UINT Msg, WPARAM wParam, LPARAM lParam)
{
switch(Msg)
{
case WM_DESTROY:
{
Cleanup();
PostQuitMessage(0);
return 0;
}
default:
return DefWindowProc(hWnd,Msg,wParam,lParam);
}
}
[/PHP]

Gescheifte Klammern kommen bei mir immer in eine extra Zeile. Ich schreibe den Variablen Typ bei einfachen Typen abgekürzt vor den Variablennamen (z.B. char cZeichen) und jedes Wort bei Variablen- und Funktionsnamen groß.

Funktionen deklariere ich kurz über der main Funktion und definiere sie erst unter main damit man zuerst das eigentliche Programm sieht. Globale Variablen stecke ich meistens in eine Struktur so dass ich bei meiner IDE nur g_. tippen muss und dann eine Liste aller Variablen angezeigt bekomme.

Ich finde das sehr übersichtlich, aber das ist halt Geschmackssache.

Link zu diesem Kommentar
Auf anderen Seiten teilen


APIENTRY WinMain(HINSTANCE hInstance,
HINSTANCE,
LPSTR lpCmdLine,
int nCmdShow)
{
...
[/PHP]

Ich bevorzuge es, die Parameter in einer Zeile zu belassen - es sei denn es sind so viele, so dass eine einzelne Zeile wirklich unleserlich ist.

Gescheifte Klammern kommen bei mir immer in eine extra Zeile.

Mach ich auch so. Sieht damit IMO deutlich strukturierter und übersichtlicher aus.

Ich schreibe den Variablen Typ bei einfachen Typen abgekürzt vor den Variablennamen (z.B. char cZeichen)

Ist IMO überflüssig. Ich finde es sogar recht nervig, vor allem dieses "lpcstr"-Irgendwas" *g*.

Globale Variablen stecke ich meistens in eine Struktur so dass ich bei meiner IDE nur g_. tippen muss und dann eine Liste aller Variablen angezeigt bekomme.

Mache ich nie so, habe ich auch noch nirgens grossartig gesehen. Ist für mich irgendwie ein Workaround für IDEs.

aber das ist halt Geschmackssache.

Vieles ist wiklich Geschmackssache und Geschmäcker sind eben verschieden :)

Wann benutze ich "_" vor einer Variable, wann schreibe ich diese in Großbuchstaben usw. Gibt es sowas?

Es gibt keine Festlegungen, nur empfehlungen. Für C# und .NET Klassenbibliotheken kenne ich eine recht gute Empfehlung in der MSDN (musst dort einfach mal danach suchen), die ich als Ansatz gut finde. Aber letztlich muss es Dir gefallen, denn Du musst Deinen Code entwickeln, debuggen und warten.

Link zu diesem Kommentar
Auf anderen Seiten teilen

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...