[Book] ν΄λ¦°μ½”λ“œ - 5μž₯ ν˜•μ‹ λ§žμΆ”κΈ°

2021. 1. 2. 17:10Β·πŸ“ Book/✏ Clean Code

5μž₯ ν˜•μ‹ λ§žμΆ”κΈ°

ν”„λ‘œκ·Έλž˜λ¨ΈλΌλ©΄ ν˜•μ‹μ„ κΉ”λ”ν•˜κ²Œ 맞좰 μ½”λ“œλ₯Ό μ§œμ•Όν•œλ‹€.

μ½”λ“œ ν˜•μ‹μ„ λ§žμΆ”κΈ° μœ„ν•œ κ°„λ‹¨ν•œ κ·œμΉ™μ„ μ •ν•˜κ³  κ·Έ κ·œμΉ™μ„ μ°©μ‹€νžˆ 따라야 ν•œλ‹€.
μ½”λ“œ ν˜•μ‹μ€ μ˜μ‚¬μ†Œν†΅μ˜ μΌν™˜μ΄κΈ° λ•Œλ¬Έμ— νŒ€μœΌλ‘œ μΌν•œλ‹€λ©΄ νŒ€μ΄ ν•©μ˜ν•΄ κ·œμΉ™μ„ μ •ν•˜κ³  λͺ¨λ‘κ°€ κ·Έ κ·œμΉ™μ„ 따라야 ν•œλ‹€.

 

1. μ μ ˆν•œ ν–‰ 길이λ₯Ό μœ μ§€ν•˜λΌ

ν–‰ κΈΈμ΄λŠ” 파일의 크기(길이)λ₯Ό λ§ν•œλ‹€.

500쀄을 λ„˜μ§€ μ•Šκ³  λŒ€λΆ€λΆ„ 200쀄 정도인 νŒŒμΌλ‘œλ„ μ»€λ‹€λž€ μ‹œμŠ€ν…œμ„ ꡬ좕할 수 μžˆλ‹€.

 

2. μ‹ λ¬Έ κΈ°μ‚¬μ²˜λŸΌ μž‘μ„±ν•˜λΌ

μ†ŒμŠ€ 파일의 이름은 κ°„λ‹¨ν•˜λ©΄μ„œλ„ μ„€λͺ…이 κ°€λŠ₯ν•˜κ²Œ μ§“λŠ”λ‹€.

μ΄λ¦„λ§Œ 보고도 μ˜¬λ°”λ₯Έ λͺ¨λ“ˆμ„ μ‚΄νŽ΄λ³΄κ³  μžˆλŠ”μ§€ μ•„λ‹Œμ§€λ₯Ό νŒλ‹¨ν•  μ •λ„λ‘œ μ‹ κ²½ μ¨μ„œ μ§“λŠ”λ‹€.

μ†ŒμŠ€ 파일 첫 뢀뢄은 고차원 κ°œλ…κ³Ό μ•Œκ³ λ¦¬μ¦˜μ„ μ„€λͺ…ν•˜κ³  μ•„λž˜λ‘œ λ‚΄λ €κ°ˆμˆ˜λ‘ μ˜λ„λ₯Ό μ„Έμ„Έν•˜κ²Œ λ¬˜μ‚¬ν•œλ‹€. λ§ˆμ§€λ§‰μ—λŠ” κ°€μž₯ 저차원 ν•¨μˆ˜μ™€ μ„ΈλΆ€ 내역이 λ‚˜μ˜¨λ‹€.

 

3. κ°œλ…μ€ 빈 ν–‰μœΌλ‘œ λΆ„λ¦¬ν•˜λΌ

거의 λͺ¨λ“  μ½”λ“œλŠ” μ™Όμͺ½μ—μ„œ 였λ₯Έμͺ½μœΌλ‘œ μœ„μ—μ„œ μ•„λž˜λ‘œ μ½νžŒλ‹€.

각 행은 μˆ˜μ‹μ΄λ‚˜ μ ˆμ„ λ‚˜νƒ€λ‚΄κ³  일련의 ν–‰ λ¬ΆμŒμ€ μ™„κ²°λœ 생각 ν•˜λ‚˜λ₯Ό ν‘œν˜„ν•œλ‹€.

생각 μ‚¬μ΄λŠ” 빈 행을 λ„£μ–΄ 뢄리해야 λ§ˆλ•…ν•˜λ‹€. κ·Έλ ‡μ§€ μ•ŠμœΌλ©΄ μ½”λ“œ 가독성이 ν˜„μ €νžˆ λ–¨μ–΄μ§„λ‹€.

 

4. 수직 거리

μ„œλ‘œ λ°€μ§‘ν•œ μ½”λ“œ 행은 μ„Έλ‘œλ‘œ κ°€κΉŒμ΄ 놓여야 ν•œλ‹€.

  • λ³€μˆ˜ μ„ μ–Έ: μ‚¬μš©ν•˜λŠ” μœ„μΉ˜μ— μ΅œλŒ€ν•œ κ°€κΉŒμ΄ μ„ μ–Έν•œλ‹€.
  • μΈμŠ€ν„΄μŠ€ λ³€μˆ˜: 클래슀 맨 μ²˜μŒμ— μ„ μ–Έν•˜κ³  λ³€μˆ˜ 간에 μ„Έλ‘œλ‘œ 거리λ₯Ό 두지 μ•ŠλŠ”λ‹€. (μ„Έλ‘œ 밀집도)
  • 쒅속 ν•¨μˆ˜: ν•œ ν•¨μˆ˜κ°€ λ‹€λ₯Έ ν•¨μˆ˜λ₯Ό ν˜ΈμΆœν•œλ‹€λ©΄ 두 ν•¨μˆ˜λ₯Ό μ„Έλ‘œλ‘œ κ°€κΉŒμ΄ λ°°μΉ˜ν•œλ‹€. κ°€λŠ₯ν•˜λ‹€λ©΄ ν˜ΈμΆœν•˜λŠ” ν•¨μˆ˜λ₯Ό ν˜ΈμΆœλ˜λŠ” ν•¨μˆ˜λ³΄λ‹€ λ¨Όμ € λ°°μΉ˜ν•œλ‹€. (μ„Έλ‘œ μˆœμ„œ)
  • κ°œλ…μ  μœ μ‚¬μ„±: μΉœν™”λ„κ°€ λ†’μ„μˆ˜λ‘ μ½”λ“œλ₯Ό κ°€κΉŒμ΄ λ°°μΉ˜ν•œλ‹€. Ex) 쒅속 ν•¨μˆ˜, λ³€μˆ˜μ™€ κ·Έ λ³€μˆ˜λ₯Ό μ‚¬μš©ν•˜λŠ” ν•¨μˆ˜, λΉ„μŠ·ν•œ λ™μž‘μ„ μˆ˜ν–‰ν•˜λŠ” ν•¨μˆ˜ λ“±

 

5. κ°€λ‘œ ν˜•μ‹ λ§žμΆ”κΈ°

였λ₯Έμͺ½μœΌλ‘œ μŠ€ν¬λ‘€ν•  ν•„μš”κ°€ μ ˆλŒ€λ‘œ μ—†κ²Œ μ•½ 120자 μ •λ„λ‘œ ν–‰ 길이λ₯Ό μ œν•œν•œλ‹€.

 

6. κ°€λ‘œ μ •λ ¬

μ„ μ–Έλ¬Έκ³Ό 할당문을 λ³„λ„λ‘œ μ •λ ¬ν•˜μ§€ μ•ŠλŠ”λ‹€. μ •λ ¬ν•˜μ§€ μ•ŠμœΌλ©΄ 였히렀 μ€‘λŒ€ν•œ 결함을 μ°ΎκΈ° 쉽닀.

 

7. κ°€μ§œ λ²”μœ„

빈 while λ¬Έμ΄λ‚˜ for 문은 ν”Όν•˜κ³  ν”Όν•˜μ§€ λͺ»ν•  λ•ŒλŠ” 빈 블둝을 μ˜¬λ°”λ‘œ λ“€μ—¬ μ“°κ³  κ΄„ν˜Έλ‘œ 감싼닀.

μ €μž‘μžν‘œμ‹œ (μƒˆμ°½μ—΄λ¦Ό)
'πŸ“ Book/✏ Clean Code' μΉ΄ν…Œκ³ λ¦¬μ˜ λ‹€λ₯Έ κΈ€
  • [Book] ν΄λ¦°μ½”λ“œ - 7μž₯ 였λ₯˜ 처리
  • [Book] ν΄λ¦°μ½”λ“œ - 6μž₯ 객체와 자료 ꡬ쑰
  • [Book] ν΄λ¦°μ½”λ“œ - 4μž₯ 주석
  • [Book] ν΄λ¦°μ½”λ“œ - 3μž₯ ν•¨μˆ˜
Blxxming
Blxxming
CS 지식과 κ³΅λΆ€ν•˜λ‹€ 배운 것, κ²½ν—˜ν•œ 것 등을 κΈ°λ‘ν•˜λŠ” λΈ”λ‘œκ·Έμž…λ‹ˆλ‹€.
  • Blxxming
    πŸ’‘λ²ˆλœ©πŸ’‘
    Blxxming
  • 전체
    였늘
    μ–΄μ œ
  • 곡지사항

    • Tech Interview
    • πŸ“š Tech (246)
      • πŸ“ Computer Science (96)
        • ✏ OS (12)
        • ✏ Network & Web (10)
        • ✏ Database (11)
        • ✏ Data Structure (6)
        • ✏ Algorithm (40)
        • ✏ Design Pattern (9)
        • ✏ Cloud Computing (3)
        • ✏ (5)
      • πŸ“ Language (73)
        • ✏ Language (6)
        • ✏ C & C++ (11)
        • ✏ C# (19)
        • ✏ JAVA (37)
      • πŸ“ Game (43)
        • ✏ Computer Graphics (2)
        • ✏ Unity (14)
        • ✏ Unreal (26)
        • ✏ (1)
      • πŸ“ Book (34)
        • ✏ Effective (3)
        • ✏ Game Server (16)
        • ✏ Clean Code (14)
        • ✏ (1)
  • hELLOΒ· Designed Byμ •μƒμš°.v4.10.0
Blxxming
[Book] ν΄λ¦°μ½”λ“œ - 5μž₯ ν˜•μ‹ λ§žμΆ”κΈ°
μƒλ‹¨μœΌλ‘œ

ν‹°μŠ€ν† λ¦¬νˆ΄λ°”