if, else, switch 가 많이 들어가면 코드의 가독성이 떨어지고, 퍼포먼스도 떨어진다는 단점이 있긴 하죠.
뭐, 갖가지 방법으로 해결할 수가 있긴 합니다. switch문에 들어가는 상수가 시리얼에 가깝다면 (0, 1, 2...) 함수포인터의 배열로 처리한다던가,
? 연산자를 이용한다던가, if 문에 들어가는 내용이 결국은 boolean 형이라는걸 이용해서 처리한다던가...
shader 1.1 에서는 if, else, switch, for... 가 다 없지만... 어떻게든 해결합니다. ㅎㅎㅎ
2010.02.03 16:29:40 (*.151.58.4)
파리근성
//39쇼핑 웹게임 개발자신가 봐요 요즘 웹게임 대세던대 화팅욤!!
2010.02.03 16:51:12 (*.74.149.140)
if else 외에 또 어떤 조건문이 있단 말입니까.
switch case 문도 컴파일 되면서 결국 if else 가 된다던데...
걱정되시면 코드를 컴팩트 하게 짜는 방법을 생각해야죠. 필요한데 들어가는 조건문이라면 당연히 써야됩니다.
2010.02.04 19:49:05 (*.145.106.17)
크로스
고투라도 쓰게되면 고투더헬...
2010.02.05 00:22:23 (*.200.223.115)
Excelsis
원래 if 많이 들어가는거 맞구요
중첩 if가 너무 심하게 들어가거나 해서 알아보기 힘들어지면 문제가 좀 있습니다. 결정조건이 먼저 확실히 정해진다면 return 같은걸로 바로 나가버리는 것도 괜찮습니다
예를들면
void A()
{
if( a )
{
dosomething();
}
}
이런식이 반복되는것보다는
void A()
{
if( !a )
return;
dosomething();
}
같은 식으로, 중첩으로 들어가는 갯수를 줄여버리는 게 가독성에 좋은 경우가 있습니다.
물론, 변수 유효범위에 문제가 생길 코드는 주의해야합니다(...)
아 그리고 goto 가끔 쓰는데요-_-;;
try-catch를 쓸 만한 상황인 경우에는 가끔 goto로 대치하는 것도 나쁘지는 않은 방법입니다.