Print Friendly and PDF

프로그래밍 책/읽기 좋은 코드가 좋은 코드다

[읽코좋코] 코드를 '문단'으로 쪼개라

나는야 개발자 2025. 6. 10. 21:08
반응형

일반 텍스트가 여러 개의 문단으로 나뉜데는 이유가 있다고 한다

{

1. 비슷한 생각을 하나로 묶어, 성격이 다른 생각과 구분

2. 문단은 '시각적 디딤돌' 역할을 수행하며, 문단이 없으면 하나의 페이지 안에 읽던 부분을 놓치기 쉬움

3. 하나의 문단에서 다른 문단으로 전진을 촉진

}

위와 같은 이유로 코드를 여러 '문단'으로 분할할 필요가 있다고 한다.

 

예시

# 사용자 친구들의 이메일 주소를 읽어 들여 시스템에 존재하는 사용자와 매치시킨다.
# 그 다음 해당 사용자와 이미 친구인 사람들의 리스트를 나타낸다.
def suggest_new_friends(user, email_password):
    friends = user.friends()
    friend_emails = set(f.email for f in frineds)
    contacts = import_contacts(user.email, email_password)
    contact_emails = set(c.email for c in contacs)
    non_friend_emails = contact_emails - friend_emails
    suggested_friends = User.objects.select(email_in=non_friend_emails)
    display['user'] = user
    display['friends'] = friends
    display['suggested_friends'] = suggested_friends
    return render("suggested_friends.html",display)

- 위 코드처럼 읽었을때 좋아할 만한 사람은 없을 것이다.

- 사실 위 코드는 구별되는 여러 단계를 거치고 있어 여러 문단으로 나누면 확실히 도움이 된다.

 

def suggest_new_friends(user, email_password):
    #사용자 친구들의 이메일 주소를 읽는다.
    friends = user.friends()
    friend_emails = set(f.email for f in frineds)
    
    # 이 사용자의 이메일 계정으로부터 모든 이메일 주소를 읽는다.
    contacts = import_contacts(user.email, email_password)
    contact_emails = set(c.email for c in contacs)
    
    # 아직 친구가 아닌 사용자들을 찾는다.
    non_friend_emails = contact_emails - friend_emails
    suggested_friends = User.objects.select(email_in=non_friend_emails)
    
    #사용자 리스트를 화면에 출력한다
    display['user'] = user
    display['friends'] = friends
    display['suggested_friends'] = suggested_friends
    
    return render("suggested_friends.html",display)

- 각 문단의 주석처리로 사용자가 코드를 훑는데 도움을 주게 된다.

- 단, 긴 문단과 짧은 문단중 어느 쪽을 선택하는 지는 개인 편차가 있다.

반응형