매개변수 관련 컨벤션 #499
km2535
announced in
Announcements
매개변수 관련 컨벤션
#499
Replies: 1 comment 2 replies
-
|
"한 줄로 나열했을 때 가독성이 떨어지는가?"를 다시 생각해봤으면 좋겠어요! 예를 들어, @Override
@Transactional
public BracketInfo makeBracket(
MatchStrategy matchStrategy,
Long leagueId,
String memberToken
) {
League league = findLeague(leagueId);
if (!league.getLeagueOwnerMemberToken().equals(memberToken)) {
throw new NotLeagueOwnerException(leagueId, memberToken);
}
matchStrategy.checkDuplicateInitialBracket(leagueId);
List<LeagueParticipant> leagueParticipantList = findLeagueParticipantList(leagueId);
return matchStrategy.makeBracket(findLeague(leagueId), leagueParticipantList);
}(2) @Override
@Transactional
public BracketInfo makeBracket(
MatchStrategy matchStrategy, Long leagueId, String memberToken
) {
League league = findLeague(leagueId);
if (!league.getLeagueOwnerMemberToken().equals(memberToken)) {
throw new NotLeagueOwnerException(leagueId, memberToken);
}
matchStrategy.checkDuplicateInitialBracket(leagueId);
List<LeagueParticipant> leagueParticipantList = findLeagueParticipantList(leagueId);
return matchStrategy.makeBracket(findLeague(leagueId), leagueParticipantList);
}1과 2를 비교했을 때 가독성이 좋아진다고 느껴지지 않았어요. 메서드 라인수가 늘어난다는 점과 의미를 담고 있지 않은 개행이라는 점에서 아쉬움이 있습니다. 또한 자바 코딩 컨벤션이 한 줄에 몇 자 이상이 되면 이를 자동으로 줄바꿈해주고 있기 때문에 이를 이용해도 가독성이 충분히 개선된다고 생각합니다. |
Beta Was this translation helpful? Give feedback.
2 replies
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
-
1. 매개변수의 갯수
최소화: 매개변수의 갯수는 가능한 한 적게 유지하는 것이 좋습니다. 일반적으로 3개 이하로 매개변수를 유지하는 것이 이상적입니다.
매개변수가 많아지는 경우:
객체화: 매개변수가 많아지면, 여러 매개변수를 묶어서 하나의 객체로 전달하는 방법을 고려합니다. 예를 들어, 여러 개의 필드를 전달해야 할 경우 DTO(Data Transfer Object)나 VO(Value Object)를 사용합니다.
Builder 패턴: Builder 패턴을 사용하여 매개변수를 유연하게 설정할 수 있습니다. 이를 통해 매개변수의 개수를 줄일 수 있습니다.
2. 매개변수의 작성 방법
한 줄로 나열하지 말기:
매개변수를 한 줄에 나열하는 방식은 가독성이 떨어지므로 피합니다.
줄바꿈을 통해 가독성 높이기: 여러 매개변수가 있을 경우, 각 매개변수를 새로운 줄에 작성하여 가독성을 높입니다.
이렇게 작성하면 각 매개변수를 한 눈에 보기 쉬우며, 향후 수정 시에도 직관적으로 이해하기 쉽습니다.
매개변수의 이름 짓기:
의미 있는 이름을 사용해야 합니다. 예를 들어, arg1, arg2보다는 userId, userName 등의 직관적인 이름을 사용합니다.
**카멜 케이스(Camel Case)**로 작성합니다.
예: firstName, orderNumber, totalAmount
최대 3개의 매개변수: 매개변수는 최대 3개로 제한하고, 그 이상이 필요하면 객체나 리스트 등을 사용하여 묶어서 전달하는 것이 좋습니다.
위 방법이 절대적인 방법은 아닙니다.
우리끼리 의견을 나누어 보았으면 좋겠어요!
Beta Was this translation helpful? Give feedback.
All reactions