개발자

Swift If문 작성 시 스타일?

2023년 05월 05일조회 115

안녕하세요! 햇병아리 개발자 꿈나무입니다. 프로그래머스에서 코딩테스트와 여러 코딩문제를 풀고 다른 사람들의 답과 저의 답을 비교해 보던 도중 if문을 쓰는 방식에 차이가 있어서 질문을 남겨봅니다. 예시 1 if num % n == 0 { return 1 } else { return 0 } 예시 2 return num % n == 0 ? 1 : 0 위 두 가지 예시 둘 다 같은 결과를 내는 코드일텐데, 1. 다르게 쓰는 이유는 가독성일까요? 2. 예시1은 세로로 길어지고 예시2는 가로로 길어지는 것 외의 차이점이 있을까요? 3. 권장하는 스타일이 따로 있나요 아니면 팀마다 협의해서 하나로 통일하는 편인가요? 감사합니다 :)

이 질문이 도움이 되었나요?
'추천해요' 버튼을 누르면 좋은 질문이 더 많은 사람에게 노출될 수 있어요. '보충이 필요해요' 버튼을 누르면 질문자에게 질문 내용 보충을 요청하는 알림이 가요.
profile picture
익명님의 질문

답변 2

손정현님의 프로필 사진

안녕하세요! 1. 취향 차이일 것 같아요. 삼항 연산자를 쓰더라도 변수명이 이상하던가 조건문이 너무 길거나 이상하면 가독성이 떨어지는건 마찬가지인것 같아요. 2. 기능적인 차이를 여쭤보시는거면 없는 것으로 알고 있습니다. 3. 개발자 성향 차이인것 같아요. 팀적으로 합의한다고해도 매번 삼항연산자를 쓸 수 있는건 아니니까요! 여담이지만, 코드 가독성은 우리의 뇌가 코드를 볼때 어느 정도까지 한번에 이해하고 기억할 수 있느냐랑 관련 있는 것 같아요. 그래서 웬만하면 간단하고 읽기 쉽게 로직을 짜는게 좋은것 같아요. 예를 들면, if 중첩문을 자주 쓰고계시면 guard clause를 써서 최대한 미리 제거할 수 있는 조건들은 제거해주는게 가독성이 더 좋은 것 같아요. 삼항 연산자를 쓰는것도 비슷한 맥락인것 같아요. if 조건문 하나를 한줄로 단번에 잘 표현할 수 있으면 5줄 읽는 것 보다는 빠를 수 있다고 생각해요. "프로그래머의 뇌"라는 책이 있는데 추천드립니다 :) - http://www.yes24.com/Product/Goods/105911017 - https://techbless.github.io/2021/06/16/%EC%A4%91%EC%B2%A9-%EC%A1%B0%EA%B1%B4%EB%AC%B8%EC%9D%84-Guard-Clause%EB%A1%9C-%EA%B0%80%EB%8F%85%EC%84%B1-%EB%86%92%EC%9D%80-%EC%BD%94%EB%93%9C%EB%A5%BC-%EC%9E%91%EC%84%B1%ED%95%98%EB%8A%94-%EB%B0%A9%EB%B2%95/

profile picture

익명

작성자

2023년 05월 05일

저걸 삼항연산자라고 하는군요…! 답변 감사합니다!!

커리어리 AI 봇님의 프로필 사진

안녕하세요, 질문주신 내용에 대해 답변 드리겠습니다. 1. 두 예시는 기능적으로 동일한 결과를 내지만, 조건 연산자를 사용한 예시2는 if/else문을 사용한 예시1보다 코드가 더 간결하게 작성됩니다. 따라서 코드 길이가 짧아지며 가독성도 개선됩니다. 2. 예시1은 if/else문을 사용하여 조건에 따른 분기 처리를 수행합니다. 예시2는 조건 연산자를 사용하여 조건에 따른 값을 반환합니다. 이외에도 예시1은 return 키워드를 사용하여 값을 반환하며, 예시2는 삼항 연산자를 사용하므로 return 키워드를 생략할 수 있습니다. 3. 개발자들은 자신이 원하는 스타일을 따르는 경우가 많습니다. 그러나 프로젝트에서 일관된 스타일을 유지하는 것이 좋습니다. 이는 프로젝트의 가독성과 유지보수성을 높여주기 때문입니다. 따라서 팀에서 합의하여 특정한 스타일을 적용하는 것이 바람직합니다. 코드 스타일은 개발자에게 따라 다르지만, 가독성과 유지보수성을 고려하여 일관된 스타일을 유지하는 것이 좋습니다.

커리어리 AI 봇의 답변을 평가해 주세요!

지금 가입하면 모든 질문의 답변을 볼 수 있어요!

현직자들의 명쾌한 답변을 얻을 수 있어요.

또는

이미 회원이신가요?

목록으로
키워드로 질문 모아보기

실무, 커리어 고민이 있다면

새로운 질문 올리기

지금 가입하면 모든 질문의 답변을 볼 수 있어요!