2009-03-29 7 views
13

나는 그것을 사용하고 사용하지 않기로하고 독창적 인 아이디어 (사용과 교체)를 찾고있다. 3 진 연산자 : 나쁜 또는 좋은 연습?


중복 :

관련 (그러나 요청을 받고 문제를 해결하지 않습니다) :

+1

다음 단계는 무엇입니까? if 진술의 유용성? – SilentGhost

+0

같은 것은 아닙니다. –

+0

물론, Ternary를 무엇이든 대체하십시오. – Samuel

답변

4

그것은 for 루프 같은입니다. 그것이 무엇을 위해 만들어 졌는지에 대해 이해하지만, 당신이 그것에 더 많은 것을 넣으려고 할 때, 그것은 읽을 수 없게됩니다.

0

어떤 삼항 작동기에 대해 이야기하고 있습니까?

삼항 연산자는 세 개의 인수를 취하는 연산자입니다.

만약 당신이 말하는거야? : 연산자, 이것을 조건 연산자라고합니다. 나는 더 이상 그것 없이는 개인적으로 살 수 없다. If-else 문은 특히 조건부 지정을 수행 할 때 나에게 너무 지저분 해 보입니다. 어떤 사람들은보기가 엉망이라고 불평하지만, (특히 Visual Studio 또는 다른 인텔리전트 포맷 IDE를 사용하는 경우) 쉽게 읽을 수 있도록 할 수 있으며 어쨌든 모든 조건문에 주석을 달 수 있어야합니다.

+3

세 개의 인수를 취하는 유일한 연산자이기 때문에 일반적으로 삼항 연산자라고합니다. – Samuel

+0

내가 무슨 말을하는거야? : 연산자 (나는 항상 그것을 삼항 연산자라고 : 나는 틀린가?) –

+2

+1 정확도. 예, 조건부 연산자라고합니다. 이 연산자는 * a * 삼항 연산자이지만, 목적/동작이 아닌 피연산자 수만을 설명합니다. C# 팀이 모든 다른 삼항 연산자를 도입한다면 사람들은 실제로 올바른 이름을 배워야 할 것입니다 ... –

3

조건부 삼원 연산자는 확실히 남용 될 수 있으며 일부 연산자는 확실히 읽을 수 없습니다. 그러나 대부분의 상황에서 부울식이 예상된다는 것은 매우 명확하며 그 의도는 분명합니다. 의도가 이 아니고이 아닌 경우, if 문을 사용하여 값이 할당 된 명확한 이름의 임시 변수를 사용하거나 예상 값을 반환하는 올바른 이름의 함수를 사용하는 것이 가장 좋습니다. PHP와 같은 템플릿 언어, 예를 들어 짧은 태그

8

좋은 : 자바 스크립트에서 스위치

<form> 
<input type='radio' name='gender' value='m' <?=($gender=='m')?"checked":""?>>Male 
<input type='radio' name='gender' value='f' <?=($gender=='f')?"checked":""?>>Female 
</form> 

좋은/jQuery를 : 할당

var el = $("#something"); 
$(el).is(':visible') ? $(el).hide("normal") : $(el).fadeIn("normal"); 

좋은, 특정 변수 이름이 취할 수있는, 특히 다른 유형 :

$var = ($foo->isFoo()) ? 'Success!' : false; 
23

가독성을 위해 1 개의 80-char 라인에 들어가면 3 진이다.

관련 문제