개인 자료란 (JE)

  서버 커뮤니티

Profile 네모 대표칭호 없음

nemo_xbox a40c4c3de05d47a3a7be7954dd841ae5

Profile

커뮤니티 소통 개발하기 잡담

n중첩 3항 연산

2020.01.29 조회 수 109 추천 수 1

3항연산자, 자주 사용들 하시나요?

3항연산자라는 단어가 익숙하지 않으신 분들을 위한 예제입니다.


// a 가 'test' 일 경우 true, 아니면 false
var testBoolean = ( a == 'test' ) ? true : false;


그래서, 이 3항연산을 최대 몇번까지 중첩하는게 효율적이라고 생각하시나요?

퍼포먼스 부분에서는 사실 거의 의미가 없을거구요. 특히 컴파일 언어의 경우 아예 의미가 없다고 보아야 할거구요.

가독성이나 코드 작성 효율에서 중첩횟수의 상한선이 어느정도일까요?


var grade = (
    ( type == 'school') ? (
        ( year <= 13 ) ? 'elementary' : (
            ( year <= 17 ) ? 'middle' : (
              ( year <= 19 ) ? 'high' : 'college'
            )
        )
    ) : 'none'
);


이런 식으로 탭을 통해 구분을 하는 방법도 있기도 하지요.

제 지인은 이런식으로 7중첩 8중첩까지도 사용하더라구요. 제가 보기에는 역시 보기에는 좀 많이 답답합니다ㅋㅋㅋ


저같은 경우에는 보통 2중첩까지만 사용하고, 템플릿 내 넣어야 하거나 재사용이 불가능한 경우에는 3중첩까지 사용합니다.

한디포 유저분들은 어느정도까지 중첩하여 사용하시나요? 그리고 어느정도까지는 허용된다고 생각하시나요?




10개의 댓글

저같은경우는 중첩이 많아지면 import하는 방식으로 사용합니다.

메인 내에 저렇게 코드가 많아지면 가독성이 확실히 떨어지기는하죠..

중첩은 개인의 코딩 실력,방법에따라 달라질꺼라 생각됩니다.

네모
2020.01.29
@라고솔로가말했습니다

하긴 따로 빼는게 가독성 면에서도 그렇고 확실히 더 효율적이겠네요.

저정도 중첩이면 그냥 함수(메서드) 하나 따로 만들어서 반환하게 만드는게 더...

요즘은 메소드 하나 둘 추가해서 늘어나는 용량이 부담되는 경우가 거의 없고 하니..

camelCase
2020.01.29

변수선언을 적극적으로 활용하고 3항연산자는 최소화 하는 방식으로 코딩합니다.

디버깅도 힘들고 가독성도 떨어져요

네모
2020.01.29
@camelCase

변수 선언을 적극적으로 활용한다는건 어떤걸 말씀하시나요?

 

저같은 경우는 3항연산을 거의 3가지 용도로밖에 사용하지 않거든요.

그래서 그런지 변수랑 3항연산과의 관련성을 잘 모르겠네요ㅠ

 

Java에서도 지원되는 문법인지는 모르겠습니다만,

$welcome ? : 'Hello, world!'; 같이 기본값을 설정할 때 사용하거나...

 

$is_admin == 'Y' ? '관리자' : '회원' ; 같이

극단적인(?) 조건문을 (템플릿 문법등에서) 인라인 코드로 사용해야 한다거나...

 

$is_admin ? submit() : error(); 이나 $is_logged ? logout() : null; 과 같이

if 문 쓰기가 정말 심각하게 귀찮을때...

 

이런 용도인데, 혹시 카멜케이스님은 3항연산을 어떤 경우에 사용하시나요?

camelCase
2020.01.29
@네모

중첩 3항연산으로 쓸것들 다 분해해버린다는 말이였습니다

저는 3항연산 안쓰고 주로 중괄호없는 if문으로 해결하는 편입니다

if(x>y) i = y;

else i= x;

camelCase
2020.01.29
@camelCase

주로 사용하는 언어가 다르다보니까 스타일 차이가 있을수 있겠군요

네모
2020.01.29
@camelCase

그러네요. 언어에 따라 차이가 있는 듯 하네요 :D

SAN
2020.01.29

다들 잘다루신다

DDang_
2020.01.30

감사합니다 선생님

솔양
2020.01.30

감사합니다!

뉴스 및 창작물
/files/thumbnails/115/774/003/262x150.crop.jpg?20240424234825

업데이트

마인크래프트 1.20.5 정식 업데이트

학교가기싫다

2024-04-24

0

/files/thumbnails/762/770/003/262x150.crop.jpg?20240418073724

레드스톤

T.B.H (고민중독) | 노트블럭 버전 | NoteBlock Cover [한국어 영어 중국어 가사 추가]

노트블럭전문가

2024-04-18

0

/files/thumbnails/218/767/003/262x150.crop.jpg?20240412130213

레드스톤

우리의 꿈 - 원피스 오프닝

노트블럭전문가

2024-04-12

0

/files/thumbnails/505/766/003/262x150.crop.jpg?20240411122306

레드스톤

기동전사 건담 수성의 마녀 | 노트블럭 커버 1

노트블럭전문가

2024-04-11

1

/files/thumbnails/932/765/003/262x150.crop.jpg?20240410124459

레드스톤

마인크래프트 노트블록으로 만든 『 밤양갱 (Bam Yang Gang) 』

노트블럭전문가

2024-04-10

0