[μ†Œν”„νŠΈμ›¨μ–΄ 곡학] ν΄λ¦°μ½”λ“œ & μ‹œνμ–΄μ½”λ”©

ν΄λ¦°μ½”λ“œ


ν΄λ¦°μ½”λ“œλž€? 'μ½”λ“œλ₯Ό μž‘μ„±ν•˜λŠ” μ˜λ„μ™€ λͺ©μ μ΄ λͺ…ν™•ν•˜λ©°, λ‹€λ₯Έ μ‚¬λžŒμ΄ 읽기 μ‰¬μš΄ μ½”λ“œ'

ν•œ κ°€μ§€μ˜ κΈ°λŠ₯만 λ§‘λŠ”λ‹€.
λ‹¨μˆœν•˜λ©°, μ§μ ‘μ μœΌλ‘œ ν‘œν˜„ν•œλ‹€.

ν•˜λ‚˜μ˜ λͺ©μ μ„ λ‹¬μ„±ν•˜λŠ” 방법은 ν•œκ°€μ§€μ—¬μ•Ό ν•œλ‹€.
쀑볡 X, ν‘œν˜„λ ₯ 높이기, μ΄ˆλ°˜λΆ€ν„° κ°„λ‹¨ν•œ 좔상화 κ³ λ €ν•˜κΈ° λ₯Ό 신경써야함 
μ½”λ“œλ₯Ό 읽으며 보이던 κΈ°λŠ₯을 각 루틴이 κ·ΈλŒ€λ‘œ μˆ˜ν–‰ν•˜λŠ” 것

 

가독성이 λ†’λ‹€λŠ” 것은? 

  • μ–΄λ–€ μ‚¬λžŒμ΄ 봐도 μ½”λ“œ μˆ˜μ •μ΄ 쉬움
  • 버그λ₯Ό μ°Ύκ³ , λ³€κ²½λœ λ‚΄μš©μ΄ μ–΄λ–»κ²Œ μƒν˜Έμž‘μš©ν•˜λŠ”μ§€ μ΄ν•΄ν•˜κΈ° 쉬움 

 

ν΄λ¦°μ½”λ“œλ₯Ό λ§Œλ“€κΈ° μœ„ν•œ κ·œμΉ™


 

1. 넀이밍

  • λ³€μˆ˜, 클래슀, λ©”μ†Œλ“œμ— μ˜λ„κ°€ λΆ„λͺ…ν•œ 이름을 μ‚¬μš©
  • elapsedTimeInDays, daySinceCreation, fileAgeInDays..
  • 잘λͺ»λœ 정보λ₯Ό 전달할 수 μžˆλŠ” 이름은 μ‚¬μš©ν•˜μ§€ μ•ŠμŒ 
  • λ²”μš©μ μœΌλ‘œ μ‚¬μš©λ˜λŠ” 단어 λ˜ν•œ μ‚¬μš©ν•˜μ§€ μ•ŠλŠ”λ‹€.
  • μ—°μ†λœ μˆ«μžλ‚˜ λΆˆμš©μ–΄λ₯Ό λ§λΆ™μ΄λŠ” 방식도 μ‚¬μš©ν•˜μ§€ μ•ŠλŠ”λ‹€.

 

2. 주석달기 

  • λ°˜λ“œμ‹œ 달아야 ν•˜λŠ” 경우만 μž‘μ„±(μœ μΆ”ν•  수 μžˆλŠ” κ²½μš°λŠ” 달지 μ•ŠλŠ”λ‹€.) 
  • μ„€λͺ…을 μœ„ν•œ μ„€λͺ…은 달지 μ•ŠλŠ”λ‹€.

 

3. κΎΈλ―ΈκΈ°

  • κ·œμΉ™μ μΈ 듀여쓰기와 μ€„λ°”κΏˆ
  • 일관성 있고 κ°„κ²°ν•œ νŒ¨ν„΄μ„ μ μš©ν•΄ μ€„λ°”κΏˆν•œλ‹€.
  • λ©”μ†Œλ“œλ₯Ό μ΄μš©ν•˜μ—¬ 쀑볡 μ½”λ“œλ₯Ό μ œκ±°ν•œλ‹€. 
  • 클래슀 λ‚΄μ—μ„œλ„ μ—¬λŸ¬ 그룹으둜 λ‚˜λˆ„λŠ” 것이 읽기에 μ’‹λ‹€.

 

4. νλ¦„μ œμ–΄ λ§Œλ“€κΈ°

  • λΉ„κ΅λ¬Έμ˜ 경우 μ™Όμͺ½μ—λŠ” λ³€μˆ˜, 였λ₯Έμͺ½μ—λŠ” μƒμˆ˜
  • 뢀정이 μ•„λ‹Œ 긍정을 λ‹€λ£¨μž 
  • if/elseλ₯Ό μ‚¬μš©ν•˜λ©°, μ‚Όν•­ μ—°μ‚°μžλŠ” 맀우 κ°„λ‹¨ν•œ 경우만 μ‚¬μš©ν•œλ‹€. 
  • do/while λ£¨ν”„λŠ” μ΅œλŒ€ν•œ 쓰지 μ•ŠλŠ”λ‹€. 

 

5. μ°©ν•œ ν•¨μˆ˜ 

  • ν•¨μˆ˜λŠ” 가급적 ν•˜λ‚˜μ˜ κΈ°λŠ₯만 μˆ˜ν–‰ν•œλ‹€. 

 

μ½”λ“œλ¦¬λ·° & λ¦¬νŒ©ν† λ§ 


μ½”λ“œλ¦¬λ·° & λ¦¬νŒ©ν† λ§μ΄λž€?

μ½”λ“œλ¦¬λ·°λ₯Ό 톡해 λƒ„μƒˆλ‚˜λŠ” μ½”λ“œλ₯Ό λ°œκ²¬ν•˜λ©΄, λ¦¬νŒ©ν† λ§μ„ 톡해 μ μ§„μ μœΌλ‘œ κ°œμ„ ν•΄λ‚˜κ°

 

λ¦¬νŒ©ν† λ§ λŒ€μƒ

  • λ©”μ†Œλ“œ 정리 : 그룹으둜 묢을 수 μžˆλŠ” μ½”λ“œ, μˆ˜μ‹μ„ λ©”μ†Œλ“œλ‘œ λ³€κ²½ 
  • 객체 κ°„μ˜ κΈ°λŠ₯ 이동 : λ©”μ†Œλ“œ κΈ°λŠ₯에 λ”°λ₯Έ μœ„μΉ˜ λ³€κ²½, 클래슀 κΈ°λŠ₯을 λͺ…ν™•νžˆ ꡬ뢄 
  • 데이터 ꡬ성 : μΊ‘μŠν™” 기법을 μ μš©ν•΄ 데이터 μ ‘κ·Ό 관리 
  • 쑰건문 λ‹¨μˆœν™” : 쑰건 논리λ₯Ό λ‹¨μˆœν•˜κ³  λͺ…ν™•ν•˜κ²Œ μž‘μ„± 
  • λ©”μ†Œλ“œ 호좜 λ‹¨μˆœν™” : λ©”μ†Œλ“œ μ΄λ¦„μ΄λ‚˜ λͺ©μ μ΄ λ§žμ§€ μ•Šμ„ λ•Œ λ³€κ²½ 
  • 클래슀 및 λ©”μ†Œλ“œ μΌλ°˜ν™” : 동일 κΈ°λŠ₯ λ©”μ†Œλ“œκ°€ μ—¬λŸ¬κ°œ 있으면 수퍼클래슀둜 이동 

 

μ‹œνμ–΄ μ½”λ”© 


 

μ‹œνμ–΄ μ½”λ”©μ΄λž€?

μ•ˆμ „ν•œ μ†Œν”„νŠΈμ›¨μ–΄λ₯Ό κ°œλ°œν•˜κΈ° μœ„ν•΄, μ†ŒμŠ€μ½”λ“œμ— μ‘΄μž¬ν•  수 μžˆλŠ” 잠재적인 λ³΄μ•ˆμ•½μ μ„ μ œκ±°ν•˜λŠ” 것 

 

λŒ€ν‘œμ μΈ 사둀 

  • SQL μΈμ μ…˜ 
  • URL νŒŒλΌλ―Έν„° μ‘°μž‘ 
  • λ¬΄μž‘μœ„ λŒ€μž…κ³΅κ²© 

 

REFERENCE

 

https://github.com/gyoogle/tech-interview-for-developer

 

gyoogle/tech-interview-for-developer

πŸ‘ΆπŸ» μ‹ μž… 개발자 전곡 지식 & 기술 λ©΄μ ‘ 백과사전 πŸ“–. Contribute to gyoogle/tech-interview-for-developer development by creating an account on GitHub.

github.com