# Deadcode



## Killit (6. Jun 2011)

habe weiter oben im code 
	
	
	
	





```
public ArrayList<Chatroom> roomlist;
```
 angelegt, bei 
der for-Schleife bei i++ warnt er mich wegen deathcode. Kann mir jemand helfen warum?


```
public Chatroom findChatroom ( String chatroomname){
		for(int i = 0; i < roomlist.size(); i++){
			if(roomlist.get(i).getroomname().equals(chatroomname));
			return roomlist.get(i);
		}
		System.out.println("Chatroom exestiert nicht");
		return null;
		
	}
```


----------



## XHelp (6. Jun 2011)

Weil es nie zum 
	
	
	
	





```
i++
```
 kommt. Wenn er in die Schleife springt, dann beendest du mit "return" weitere ausführung der Methode.
Es könnte nicht zuletzt daran liegen, dass deine if-Abfrage falsch ist, es sollte vielmehr:

```
if(roomlist.get(i).getroomname().equals(chatroomname)) {
  return roolist.get(i);
}
```
sein.


----------



## Tomate_Salat (6. Jun 2011)

es reicht, wenn du das [c];[/c] an der Stelle hier entfernst:
[java=3]
if(roomlist.get(i).getroomname().equals(chatroomname)); //<--- dieses hier
[/code]


----------



## XHelp (6. Jun 2011)

Tomate_Salat hat gesagt.:


> es reicht, wenn du das [c];[/c] an der Stelle hier entfernst



Sagte der Mensch mit dem Link auf die Conventions in der Signatur :joke:
Recht hast du natürlich, aber das ist ein gutes Beispiel dafür, warum {} sinnvoll sind, zumindestmal am Anfang.


----------



## Tomate_Salat (6. Jun 2011)

Solange man es nicht übertreibt, finde ich es leserlicher ... zumindest solange kein Konstrukt wie folgt rauskommt:


```
for(int i=0;i<10;i++)
   if(sample.checkIndex(i))
          return;
```

Aber natürlich spricht nix dagegen, diese {} zu setzen.



> Sagte der Mensch mit dem Link auf die Conventions in der Signatur :joke:


Mir gehts mit dem Link mehr um die Benamungen. Ob das weg lassen der Klammern gegen die konventionen wären oder nicht weis ich nicht. Aber in meinem Code fließen eh Betriebskonventionen ein, die mir dann doch wichtiger sind ;-)


----------



## XHelp (6. Jun 2011)

Tomate_Salat hat gesagt.:


> Solange man es nicht übertreibt, finde ich es leserlicher


Ja, aber am Anfang gibt es kein "leserlich" oder "unleserlich". Es gibt nur "aber so habe ich es am Anfang gelernt". Das ist der eigentliche Punkt auf den ich hinaus wollte. Wenn man später die Syntax gut kennt, kann man anfangen solche Entscheidungen zu treffen. Aber das ist eben nur meine Meinung, die nur eine von vielen ist.


> Ob das weg lassen der Klammern gegen die konventionen wären oder nicht weis ich nicht.



Nur der Vollständigkeit halber:


			
				CC 7.4 hat gesagt.:
			
		

> Note: if statements always use braces {}. Avoid the following error-prone form:
> if (
> 
> condition) //AVOID! THIS OMITS THE BRACES {}!
> ...


----------



## Killit (7. Jun 2011)

ah lol, danke


----------



## Dekker (7. Jun 2011)

Sowas hab ich mal mit ner whileschleife geschaft.


```
while(blubb);{
      dwim(x);
}
```

Hat mich damals 2 Stunden gekostet rauszufinden warum er alles nach der Schleife als unreachable code bezeichnete ^^


----------



## faetzminator (7. Jun 2011)

Dekker hat gesagt.:


> Sowas hab ich mal mit ner whileschleife geschaft.
> 
> 
> ```
> ...



Wenn man den Formatter "richtig" einstellt, kann das einem eigentlich nicht passieren.
Aus [c]while(true) { foo(); }[/c] wird bei mir 
	
	
	
	





```
while (true) {
    foo();
}
```
und aus [c]while(true); { foo(); }[/c] wird 
	
	
	
	





```
while (true)
    ;
{
    foo();
}
```


----------



## Landei (7. Jun 2011)

Ich finde Semikolons sowieso doof, sie bringen mehr Probleme als sie lösen. Und die Zeiten, als man Parsern "helfen" musste, weil sie nicht zu komplex werden sollten/konnten, sind ja wohl vorbei. Deshalb sollten Semikolons optional sein, weil in 99% der Fälle glasklar ist, wo sie hinkommen müssen.


----------



## Dekker (7. Jun 2011)

faetzminator hat gesagt.:


> Wenn man den Formatter "richtig" einstellt, kann das einem eigentlich nicht passieren.



Nur hat der Windowseditor keinen Javaformatter  

Damals hab ich noch ohne IDE programmiert. Ist schon sehr lange her, aber so eins der Dinge die man nicht mehr vergisst.


----------

