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

rnlf

Frischling

Beiträge: 85

Beruf: Softwareingenieur Raumfahrt

  • Private Nachricht senden

91

29.06.2012, 14:18

Ich benutze Kommentare oft zur Strukturierung von Code. z.B. für jede Funktion ein Kommentar-Head.
Das gibt mir eine gute Übersicht beim scrollen durch den Quelltext.

Aber wozu bräuchte folgender Code z.B. noch Erläuterungen?

C#-Quelltext

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
// ==================================================
// || OnEnemyFire
protected function OnEnemyFire(enemy:SpaceIndividual) : void
{
    if (enemy is BlueMinion || enemy is RedMinion)
    {
        var bullets:Array = enemy.Fire();
        
        for each(var bullet:Bullet in bullets)
        {                   
            this.EnemyBullets.add(bullet);      
        }
    }
    else if (enemy is PurpleMinion)
    {
        var bullets:Array = enemy.Fire();
        
        for each(var bullet:Bullet in bullets)
        {
            FlxVelocity.moveTowardsObject(bullet, this.Player, enemy.GetBulletSpeed()); 
            this.EnemyBullets.add(bullet);      
        }
    }
}
Man kann sich jetzt natürlich überlegen wie weit das mit "is" ein Fehldesign ist. Mir gefällts so ;)


Wozu soll es gut sein, den Namen einer Funktion direkt über der Funktion noch mal hinzuschreiben? Da entzieht sich mir der Sinn. Das enthält genau 0 Information, verbraucht wertvollen Platz auf dem Bildschirm und wird beim Refactoring schnell vergessen...

babelfish

Alter Hase

Beiträge: 1 222

Wohnort: Schweiz

Beruf: Informatiker

  • Private Nachricht senden

92

29.06.2012, 15:14

Das hat rein visuell sehr wohl Sinn.

Hast du schon einmal Bejeweled gespielt? Beim Spiel geht es darum 3 oder mehr aneinander liegende, farblich gleiche Steine zu finden.
Eine Technik die oft verwendet wird, ist es, jede mögliche Farbe im Kopf durchzugehen, und die restlichen auf dem Spielfeld auszublenden.

Kommentare in den meisten IDEs sind Grün. Wenn du also etwas suchst konzentrierst du dich auf die Farbe, und kannst beim durchscrollen sehr leicht die Texte lesen.

rnlf

Frischling

Beiträge: 85

Beruf: Softwareingenieur Raumfahrt

  • Private Nachricht senden

93

29.06.2012, 15:24

Warum stellst du dann nicht einfach die Farbe der Funktionsbezeichner auf Grün?

Sacaldur

Community-Fossil

Beiträge: 2 301

Wohnort: Berlin

Beruf: FIAE

  • Private Nachricht senden

94

29.06.2012, 15:31

weil man eventuell nicht nur einzelne Funktionen "markieren" will, sondern ggf. auch Codeabschnitte (Konstruktoren von anderen Methoden beispielsweise)
und man will vlt. nicht jede Funktion markiert haben
man kann sich so also die Kommentare nicht einfach einsparen
zudem erregen die vielen grünen Gleichheitszeichen beim Suchen die Aufmerksamkeit, wodurch man den eigentlichen grünen Text nicht so einfach übersieht
Spieleentwickler in Berlin? (Thema in diesem Forum)
---
Es ist ja keine Schande etwas falsch zu machen, als Programmierer tu ich das täglich, [...].

BlueCobold

Community-Fossil

Beiträge: 10 738

Beruf: Teamleiter Mobile Applikationen & Senior Software Engineer

  • Private Nachricht senden

95

29.06.2012, 16:53

Hmm. Also ich habe in jeder IDE immer komplett eigenes Syntax-Highlighting und die Kommentare sind weniger deutlich als Klassen, Interfaces, Variablen, Zahlen, Konstanten, Operatoren und Methoden. Sogar überladene Methoden sehen bei mir anders aus als normale. Da kann mir Kommentar gestohlen bleiben, ich sehe auf einen Blick, was die Methode macht.
Teamleiter von Rickety Racquet (ehemals das "Foren-Projekt") und von Marble Theory

Willkommen auf SPPRO, auch dir wird man zu Unity oder zur Unreal-Engine raten, ganz bestimmt.[/Sarkasmus]

Werbeanzeige