Du bist nicht angemeldet.

Werbeanzeige

Schrompf

Alter Hase

Beiträge: 1 322

Wohnort: Dresden

Beruf: Softwareentwickler

  • Private Nachricht senden

171

19.10.2012, 16:03

Gerade eben im Spladitor-Code entdeckt:

Quellcode

1
2
mLoeschenButton = new QPushButton( "Löschen");
mLoeschenButton->setToolTip( "Vom Lateinischen \"loeschere\": \"Aufsetzschuss, großkalibrig, Schulter-/Nackenbereich\", siehe auch \"die Herstellung von Bit-Salat\"");


Das war nicht ich!
Häuptling von Dreamworlds. Baut aktuell an nichts konkretem, weil das Vollzeitangestelltenverhältnis ihn fest im Griff hat. Baut daneben nur noch sehr selten an der Open Asset Import Library mit.

BlueCobold

Community-Fossil

Beiträge: 10 890

Beruf: Teamleiter Mobile Applikationen & Senior Software Engineer

  • Private Nachricht senden

172

19.10.2012, 16:30

Ha! Der is nice. Solchen Quatsch haben wir auf Arbeit auch jede Menge. Entweder dusselige Strings oder ziemlich fiese/lustige Kommentare.
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]

drakon

Supermoderator

Beiträge: 6 523

Wohnort: Schweiz

Beruf: Entrepreneur

  • Private Nachricht senden

173

19.10.2012, 16:54

C-/C++-Quelltext

1
2
3
4
5
6
void foo(..., const std::string& s, ... ){  ...  std::cout << s; ... }

void bar()
{
 foo(...., NULL, ...);
}

Ist mir bei der Umstellung von C-Strings auf Standard strings passiert (darum das NULL). Man könnte meinen, dass das einen Compiler Fehler oder wenigstens eine Warnung gibt, aber weit gefehlt.
Selbst das hier kompiliert (VS 2010) ohne Kommentar:

C-/C++-Quelltext

1
2
std::string s = 0;
std::cout << s; //jej..

Für mich ist gerade eine kleine Welt zusammengebrochen. :S

BlueCobold

Community-Fossil

Beiträge: 10 890

Beruf: Teamleiter Mobile Applikationen & Senior Software Engineer

  • Private Nachricht senden

174

23.10.2012, 08:46

Java-Quelltext

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
        String[] aSomething = split(sSomething, SPLIT_CHARS.toCharArray()[0]);
        for (int i = 0; i < aSomething .length; i++) {
            if (i == 1)
                assertThat(MSG_1, CONST_1, equalTo(aSomething[i]));
            if (i == 2)
                assertThat(MSG_2, CONST_2, equalTo(aSomething[i]));
            if (i == 3)
                assertThat(MSG_3, CONST_3, equalTo(aSomething[i]));
            if (i == 4)
                assertThat(MSG_4, CONST_4, equalTo(aSomething[i]));
            if (i == 5)
                assertThat(MSG_5, CONST_5, equalTo(aSomething[i]));
            if (i == 6)
                assertThat(MSG_6, CONST_6, equalTo(aSomething[i]));
        }

:dash:
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]

Beiträge: 721

Wohnort: /dev/null

Beruf: Software-Entwickler/Nerd

  • Private Nachricht senden

Schorsch

Supermoderator

Beiträge: 5 188

Wohnort: Wickede

Beruf: Student

  • Private Nachricht senden

176

23.10.2012, 14:15

Das wird ja immer besser:D
„Es ist doch so. Zwei und zwei macht irgendwas, und vier und vier macht irgendwas. Leider nicht dasselbe, dann wär's leicht.
Das ist aber auch schon höhere Mathematik.“

JRJ

Treue Seele

Beiträge: 113

Wohnort: Tirol

Beruf: Schüler

  • Private Nachricht senden

177

31.10.2012, 19:52

aus dem portmidi Quellcode:

C-/C++-Quelltext

1
2
3
4
5
6
/* crash the program to test whether midi ports are closed */
/**/
void doSomethingReallyStupid() {
    int * tmp = NULL;
    *tmp = 5;
}

MitgliedXYZ

Alter Hase

Beiträge: 1 381

Wohnort: Bayern

  • Private Nachricht senden

178

31.10.2012, 20:14

Java-Quelltext

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
        String[] aSomething = split(sSomething, SPLIT_CHARS.toCharArray()[0]);
        for (int i = 0; i < aSomething .length; i++) {
            if (i == 1)
                assertThat(MSG_1, CONST_1, equalTo(aSomething[i]));
            if (i == 2)
                assertThat(MSG_2, CONST_2, equalTo(aSomething[i]));
            if (i == 3)
                assertThat(MSG_3, CONST_3, equalTo(aSomething[i]));
            if (i == 4)
                assertThat(MSG_4, CONST_4, equalTo(aSomething[i]));
            if (i == 5)
                assertThat(MSG_5, CONST_5, equalTo(aSomething[i]));
            if (i == 6)
                assertThat(MSG_6, CONST_6, equalTo(aSomething[i]));
        }

:dash:
Es geht zwar bei deinem Code gerade um etwas anderes, aber warst du es nicht, der mir gesagt hat, man schreibt nicht sText, iZahl,... Die Buchstaben am Anfang die den Datentyp anzeigen sind doch nicht mehr modern, oder?

valentin

Treue Seele

Beiträge: 213

Wohnort: Schweiz

Beruf: Schüler

  • Private Nachricht senden

179

31.10.2012, 20:21

Wer sagt dir, dass der Code von ihm geschrieben wurde?
visit me on deviantArt!
http://v-alentin.deviantart.com/

There is no programming language, no matter how structured, that will prevent programmers from making bad programs. //Larry Flon

Sacaldur

Community-Fossil

Beiträge: 2 332

Wohnort: Berlin

Beruf: FIAE

  • Private Nachricht senden

180

31.10.2012, 21:06

heute auf Arbeit, als ich auf Fehlersuche war, habe ich ein wenig mehr den bereits vorhandenen (Java-)Code angeschaut
dabei kam bei mir schnell die Frage auf, was denn der Zweck folgender Membervariable (natürlich gibt es keine Dokumentation für diese) wäre:

Quellcode

1
private List mListe;

für die, die nicht oder selten mit Java arbeiten: List ist eine generische Schnittstelle, bei der man den verwendeten Typ angeben kann (bspw. List<String>)
die Liste wird nicht innerhalb der Klasse initialisiert und nur von außen über Methoden festgelegt, welche ein List-Objekt als Parameter erwarten

da das vermutlich noch zu sehr aus dem Zusammenhang gerissen scheint:
die Klasse ist die RessourceImpl-Klasse (die einzige Klasse, die das Interface Ressource implementiert)
dank irgendeiner Methode, in der auf die Liste zugegriffen wird, wusste ich dann, dass die Einträge vom Typ RessourceEintragImpl (wiederum einzige Implementierung von RessourceEintrag)

apropos Interface:
einige Interfaces werden dazu missbraucht, Konstanten zu speichern
der Grund dafür ist die einfachere Verwendung, da man so nur das Interface implementieren muss und die Konstanten zur Verfügung stehen, ohne die lästige Angabe einer Klasse oder einer Aufzählung...
da kommt Freude auf, wenn man für einen bestimmten Wert den entsprechenden Schlüsselwert sucht und keine Ahnung hat, wie das Interface benannt worden sein könnte...

und nicht zu vergessen die vielen vielen Singletons, statt derer auch einfach statische Methoden verwendet werden könnten, weil eh immer direkt auf die Klasse zugegriffen wird


aber bevor ich euch mit noch mehr Details, wie der Ressourcentabelle, belästige, höre ich an der Stelle lieber auf...
(ich hatte mich vor kurzem erst über unsere Formatierungsrichtlinien unterhalten - er hatte danach auf weitere Details verzichtet...)
Spieleentwickler in Berlin? (Thema in diesem Forum)
---
Es ist ja keine Schande etwas falsch zu machen, als Programmierer tu ich das täglich, [...].

Werbeanzeige