Du bist nicht angemeldet.

Stilllegung des Forums
Das Forum wurde am 05.06.2023 nach über 20 Jahren stillgelegt (weitere Informationen und ein kleiner Rückblick).
Registrierungen, Anmeldungen und Postings sind nicht mehr möglich. Öffentliche Inhalte sind weiterhin zugänglich.
Das Team von spieleprogrammierer.de bedankt sich bei der Community für die vielen schönen Jahre.
Wenn du eine deutschsprachige Spieleentwickler-Community suchst, schau doch mal im Discord und auf ZFX vorbei!

Werbeanzeige

kiba

Alter Hase

  • »kiba« ist der Autor dieses Themas

Beiträge: 327

Wohnort: NRW

Beruf: Azubi: Fach-Info. Anw.

  • Private Nachricht senden

1

06.03.2009, 19:41

Programmierstil

Hab mich mal in google um gesehen, um meine Programmierstil zu verbessern und hab das hier gefunden:
http://www.uwe-sauerland.de/richtlinien/Programmierstil.html

Jetzt wollt ich fragen ist das ganze überhaupt noch aktuell.
z.b. schreiben glaube ich nur die wenigsten "C" vor der Klasse
(bei structs eher mehr)

Gibt es noch Tutorials um den Programmierstil zuverbessern.

2

06.03.2009, 19:49

Programmierstil ist ein Stil, und davon gibt es eben nicht nur einen, geschweige denn den einzig wahren. Es gibt einige Dinge, in denen sich die meisten Programmierer einig sind (zum Beispiel eine Anweisung pro Zeile), aber in vieler Hinsicht gibt es unterschiedlichste Möglichkeiten, von denen keine als richtig oder falsch angesehen werden kann.

Ich halte deshalb von Dokumenten, die einem Programmierstil beibringen sollen, überhaupt nichts. Vor allem, wenn sie mit ungarischer Notation anfangen.

Also gewöhn dir deinen eigenen Stil an. Mit der Zeit wirst du sehen, was sich als praktisch erweist. In gewissen Bereichen kannst du Kompromisse eingehen, um die Kommunikation mit anderen Programmierern zu vereinfachen. Aber grundsätzlich solltest du dir deinen Stil nicht vorschreiben lassen.

____
Edit: Meine Güte, das Dokument. :roll:

Zitat

  • Underscores in Namen sind unzulässig.
  • Private Namen beginnen mit einem Underscore.
  • Es werden grundsätzlich deutsche Namen verwendet.
  • Durch typedef erzeugte Typnamen werden groß geschrieben und dürfen Underscores enthalten. (außer Structs, Klassen und Zeiger auf Structs oder Klassen)
  • Funktionslokale static-Objekte sind unzulässig.
  • Funktionen [in Klassenhierarchien] dürfen ausschließlich polymorph überladen werden.
  • Die Anweisung return innerhalb von Funktionen (nicht am Ende) ist, außer zum Abbruch in Fehlerfällen, unzulässig.
  • Implizite Typkonvertierungen (casts) sind verboten.
Sorry, aber das ist wohl das Allerletzte. Vergiss die Seite möglichst schnell. Stell sie in deinem Browser auf die Black List. Und empfiehl sie niemandem weiter!

drakon

Supermoderator

Beiträge: 6 513

Wohnort: Schweiz

Beruf: Entrepreneur

  • Private Nachricht senden

3

06.03.2009, 20:02

Solange du kannst, würde ich so programmieren, wie du es für richtig hälst (also schon nicht durcheinander, aber konstant). Du kannst dir ja immernoch die Freiheit nehmen und das ganze doch über den Haufen zu werfen.

Es gibt schon Dokumente, wie z.B das hier:
http://www.research.att.com/~bs/JSF-AV-rules.pdf

oder von google:
http://google-styleguide.googlecode.com/svn/trunk/cppguide.xml

Ob du dich daran halten oder nur orientierten willst sei dir überlassen.

EDIT:

Zitat

Es werden grundsätzlich deutsche Namen verwendet. Ausnahmen bilden Fachwörter.

Das finde ich ja noch viel schlimmer, als den ersten Teil.. Das funktioniert nicht. Was sind den jetzt Fachwörter? - File oder Datei? Title oder Titel? Screen oder Bildschirm? usw. Alles Englisch, sonst gehts in die Hose..

EDIT2:

Zitat

Implizite Typkonvertierungen (casts) sind verboten.

Den Code zeige mir mal, der keine implizite casts hat.. :lol:

4

06.03.2009, 20:06

Ich habe es mal ueberflogen. O my fucking god ... einfach nur schlecht.
If it were not for laughter, there would be no Tao.

MasterK

Frischling

Beiträge: 92

Wohnort: Koblenz

Beruf: Teamleiter Softwareentwicklung

  • Private Nachricht senden

5

08.03.2009, 00:15

Naja, schaut euch mal das letzte revisionsdatum an. Ist schon ein paar jährchen her :) Ausserdem schreibt er ja selbst, dass sein richtlinien nicht der weisheit letzter schluss sind.

Trotzdem sind da etliche fragwürdige sachen drin. Warum zB sollte man in pascal kommentare mit // kennzeichnen? Wasn blödsinn. Aber vielleicht hatte das damals noch einen tieferen sinn.

Und warum kein leerzeichen vor einem komma? Ok, mach ich auch nicht, aber eigentlich fördert das die lesbarkeit deutlich.

Quellcode

1
machWas( a , b , 'blubb' , 10 );

Ausserdem kann das komma ja auch ein operator sein, also warum sollte man ihm das recht eines führenden leerzeichens absprechen :)

Phil_GDM

Alter Hase

Beiträge: 443

Wohnort: Graz

Beruf: Student-Softwareentwicklung u. Wissensmanagement

  • Private Nachricht senden

6

08.03.2009, 09:48

Also ich verwende diesen Programming Style Guide http://geosoft.no/development/cppstyle.html mit leichten Modifikationen.

Ist recht aktuell und gefällt mir persönlich sehr gut.

mfg Philipp

MasterK

Frischling

Beiträge: 92

Wohnort: Koblenz

Beruf: Teamleiter Softwareentwicklung

  • Private Nachricht senden

7

08.03.2009, 10:23

Obwohl es auch da sicher (mal abgesehen davon, dass es die letzte wahrheit nicht gibt) diskussionswürdige punkte gibt.

Zum beispiel das verwenden von singletons statt globalen variablen. Eigentlich sollte man ein singleton nur dann verwenden, wenn es ein objekt nur einmal geben _darf_. Das verwenden eines singletons statt einer globalen variable ist genauso "falsch" wie das verwenden einer globalen variable. Entweder ist die globale variable wirklich nötig, dann sollte sie auch eine globale variable sein. Oder sie ist nicht wirklich nötig, dann ist auch das verwenden eines singletons unnötig.
Also diesen punkt würde ich als "nicht ok" bezeichnen.

kiba

Alter Hase

  • »kiba« ist der Autor dieses Themas

Beiträge: 327

Wohnort: NRW

Beruf: Azubi: Fach-Info. Anw.

  • Private Nachricht senden

8

10.03.2009, 19:10

In der Spieleprogrammierung gibt es ja bestimmt eine singleton klassen
z.b.
die ganzen gamevaraiblen von der datenbank müssen ja auch irget wo gespeichert sein was sollte man also machen is das nur stilsache oder eine regel

xardias

Community-Fossil

Beiträge: 2 731

Wohnort: Santa Clara, CA

Beruf: Software Engineer

  • Private Nachricht senden

9

10.03.2009, 19:36

Naja man "braucht" keine globalen Variablen, lässt sich auch alles über Klassenbeziehungen machen. Manchmal ist es aber schlichtweg einfacher globale Variablen oder Singletons zu verwenden.

MasterK

Frischling

Beiträge: 92

Wohnort: Koblenz

Beruf: Teamleiter Softwareentwicklung

  • Private Nachricht senden

10

10.03.2009, 19:53

Zitat von »"kiba"«

die ganzen gamevaraiblen von der datenbank müssen ja auch irget wo gespeichert sein was sollte man also machen is das nur stilsache oder eine regel

Die ganzen gamevariablen von der datenbanken sollten dann in einer entsprechenden klasse gespeichert werden. Aber warum MUSS die singleton sein?

Werbeanzeige