http://1st.gamecodi.com/board/zboard.php?id=GAMECODI_Talk&no=13895 

 

삼항연산자 쓰세요-ㅅ-?

한번도 써본적이없어서...당췌 왜만든지를 모르겠어요.

1st.gamecodi.com

좋은 질문인것 같고 좋은 답변도 있어서 가져왔습니다.

 

안좋은예:

//삼항연산자
int round(float f)
{
	return (f - 0.5 > static_cast<int>(f)) ? static_cast<int>(f + 1.0) : static_cast<int>(f);
}

//if else 문
int refill_hp(int hp)
{
/*
	if (hp > 100)
		return hp;
	else
		return 100;
*/
	return (hp > 100) ? hp : 100;
}

좋은 예:

//삼항연산자
int nLevel = pTest?pTest->Level:0;

//if else 문 
int nLevel;  
if( pTest != NULL )  
{  
nLevel = pTest->Level;  
}  
else  
{  
nLevel = 0;  
}

 

 

 

체인된 삼항연산자는 if 문과 비교해 몇 가지 장점이 있습니다.

  • 항상 위에서 아래로 일직선으로 읽을 수 있도록 작성하는 것이 좋습니다. 직선을 따라 읽으면 체인된 삼항식을 무리없이 읽을 수 있습니다.
  • 삼항 연산자는 구문의 혼란을 줄입니다. 적은 코드 = 버그가 적은 표면 = 버그가 적습니다.
  • 삼항 연산자는 임시 변수를 필요로하지 않으므로 단기기억력의 부하가 줄어 듭니다.
  • 삼항식은 신호 대 잡음비가 더 좋습니다.
  • if문은 부수작용과 변이를 권장하지만, 삼항연산자는 순수한 코드를 권장합니다.
  • 순수한 코드는 표현과 기능을 서로 분리시킴으로써 우리가 더 나은 개발자가 될 수 있도록 합니다.

https://tpgns.github.io/2018/04/24/nested-ternaries-are-great/

 

삼항연산자의 멋짐을 모르는 당신이 불쌍해 - mido

이 글은 Eric Elliott 이 medium에서 연재하는 Composing Software 시리즈를 번역한 것입니다. [원문보기] Smoke Art Cubes to Smoke — MattysFlicks — (CC BY 2.0) 참고 : 이 글은 JavaScript ES6+의 함수형 프로그래밍

tpgns.github.io

 

'끄적이기' 카테고리의 다른 글

깃 관리  (0) 2022.07.12
if else문 , switch문 사용해야할때  (0) 2021.10.27
싱글턴 패턴의 위험성!  (0) 2021.10.27
const를 사용하는 이유  (0) 2021.10.27
추상 클래스, 인터페이스 사용 이유  (0) 2021.10.27

+ Recent posts