πŸ“š book/파이썬 클린 μ½”λ“œ

[Python] 파이썬 클린 μ½”λ“œλ₯Ό μ½μ–΄λ³΄μž!

바쿄리 2022. 8. 20. 13:53

πŸ“Œ 책을 μ½λŠ” 이유

νŒŒμ΄μ¬μ„ μ‹œμž‘ν•œμ§€ 벌써 10κ°œμ›”μ΄ λ˜μ—ˆκ³  μ–΄μ œ κ°‘μžκΈ° 클린 μ½”λ“œλ₯Ό 읽어야겠닀고 생각이 λ“€μ–΄μ„œ yes24둜 μ£Όλ¬Έν•΄μ„œ μ˜€λŠ˜λΆ€ν„° 읽으렀고 ν•œλ‹€. μ†”μ§νžˆ νŒŒμ΄μ¬μ„ μ§€κΈˆκΉŒμ§€ 계속 할지도 λͺ°λžλ‹€. κ·Έλž˜μ„œ κ·ΈλŸ°μ§€ 깊이 κ³΅λΆ€ν•΄μ•Όκ² λ‹€λΌλŠ” 생각도 ν•˜μ§€ μ•Šμ•˜λ˜ 것 κ°™λ‹€. 그런데 μ™œ κ°‘μžκΈ° κ³΅λΆ€ν•˜κ³  μ‹Άμ–΄μ‘Œκ³  이 책이 μ½κ³ μ‹Άμ–΄μ‘Œμ„κΉŒ?

두달 μ „κΉŒμ§€λ§Œ 해도 우리 νšŒμ‚¬μ˜ κ°œλ°œμžλŠ” 단 3λͺ…μ΄μ—ˆλ‹€. μ•Œκ³ λ¦¬μ¦˜μ„ κ°œλ°œν•˜λŠ” 연ꡬ원 2λͺ…κ³Ό μ„œλΉ„μŠ€ κ°œλ°œνŒ€μ΄μ—ˆλ˜ λ‚˜.. (λ‚˜λŠ” μ–΄λ”” μ†ν•΄μžˆλŠ” λˆ„κ΅¬μΈκ°€..?) μ„œλΉ„μŠ€ κ°œλ°œνŒ€ μ†Œμ†μ΄μ—ˆλ˜ λ‚˜λŠ” νŒ€μ΄ λ°•μ‚΄λ‚˜κ³  혼자 νšŒμ‚¬μ— λ‚¨κ²Œλ˜λ©΄μ„œ 기쑴에 μ§„ν–‰ν•˜λ˜ ν”„λ‘œμ νŠΈ μœ μ§€λ³΄μˆ˜ + μ—°κ΅¬νŒ€μ˜ μ•Œκ³ λ¦¬μ¦˜μ„ ν΄λΌμ΄μ–ΈνŠΈμ— 보여주기 μœ„ν•œ ν’€μŠ€νƒ κ°œλ°œλ“€μ„ λ„λ§‘μ•„ν–ˆλ‹€.

κ·Έλ ‡κ²Œ 일을 ν•˜λ˜ 도쀑 인λ ₯ λΆ€μ‘±κ³Ό 사업 ν™•μž₯으둜 3λͺ…을 μΆ©μ›ν–ˆλ‹€. μƒˆλ‘œμš΄ 개발자 쀑 1λͺ…은 λ‚˜μ™€ 같이 ν”„λ‘œμ νŠΈλ₯Ό μ§„ν–‰ν•˜κ²Œ λ˜μ—ˆλŠ”λ°, 이 뢄은 λŒ€ν•™μ›μ—μ„œ κ³΅λΆ€ν•˜λ‹€κ°€ μ˜€κ²Œλ˜μ—ˆλ‹€. 즉, 36살에 νšŒμ‚¬ κ²½ν—˜μ΄ μ²˜μŒμ΄λΌλŠ” 것. 그럴 수 μžˆλ‹€κ³  μƒκ°ν–ˆλ‹€. λŒ€ν•™κ΅ + λŒ€ν•™μ›μ—μ„œ 곡뢀λ₯Ό ν•˜κ³  연ꡬλ₯Ό ν•˜κ³  μ˜€μ…¨μœΌλ‹ˆ, κΈ°λŒ€λ₯Ό ν•˜κ²Œ λ˜μ—ˆλ‹€. ν•˜μ§€λ§Œ κΈ°λŒ€κ°€ 크면 싀망도 큰법, git을 ν•œλ²ˆλ„ 써본적 없을 λΏλ”λŸ¬ ν˜‘μ—…μ„ ν•œλ²ˆλ„ 해보지 μ•Šμ•„μ„œ μ½”λ“œλ₯Ό 정말 본인 λ§ˆμŒλŒ€λ‘œ 손가락 κ°€λŠ”λŒ€λ‘œ μž‘μ„±ν–ˆλ‹€.

예λ₯Ό λ“€μ–΄, 기쑴에 string을 λ°›μ•„μ„œ μ‹€ν–‰λ˜λ˜ runμ΄λΌλŠ” ν•¨μˆ˜κ°€ μžˆλ‹€κ³  κ°€μ •ν•΄λ³΄μž.

def run(string):
    ....
    return string


μ—¬κΈ°μ„œ string이 μ•„λ‹Œ integer둜 λ°›κ³ μ‹Άμ–΄μ„œ μ΄λ ‡κ²Œ λ°”κΎΈμ—ˆλ‹€κ³  ν•œλ‹€.

# μƒˆλ‘œ μΆ”κ°€ν•œ ν•¨μˆ˜
def run(integer):
    ...
    return integer
    
# 기쑴의 ν•¨μˆ˜
def run1(string):
    ...
    return string



μ΄λ ‡κ²Œ κ·Έλƒ₯ 바꿔버리면? 기쑴에 runμ΄λΌλŠ” ν•¨μˆ˜λ₯Ό 잘 ν˜ΈμΆœν•΄μ„œ μ‚¬μš©ν•˜λ˜ λ‹€λ₯Έ μ½”λ“œλ“€μ€ ?
그리고 μ§„μ§œ μ •ν™•ν•˜κ²Œ 기쑴의 ν•¨μˆ˜ 뒀에 1을 λΆ™μ—¬μ„œ ν•¨μˆ˜ 이름을 λ°”κΏ”λ†“μ•˜λ”λΌ γ…‹γ…‹
μ½”λ“œλ₯Ό λ°”κΎΈκ³  싀행도 μ•ˆν•˜κ³  κ·Έλƒ₯ commitν•˜κ³  push해버린 λ‹Ήμ‹  .. 진심인가?
λ‹Ήμ—°ν•˜κ²Œ μ‹€ν–‰ x. μ΄λ ‡κ²Œ 바꿔버리면 μ–΄λ–‘ν•΄μš”? λ¬Όμ–΄λ³΄λ‹ˆ, λ‚˜λ³΄κ³  run ν•¨μˆ˜ ν˜ΈμΆœν•˜λŠ” 곳에 κ°€μ„œ νŒŒλΌλ―Έν„°λ₯Ό λ‹€ μˆ˜μ •ν•˜λΌκ³  ν–ˆλ‹€.

λ„€ ? 그게 무슨 .. ?

μ—°κ΅¬μ›λ‹˜μ€ 본인이 뭘 크게 잘λͺ»ν•œμ§€λ₯Ό λͺ¨λ₯΄λŠ” 것 κ°™μ•˜λ‹€. μ΄μƒν•˜λ‹€κ³  λ§ν•˜λŠ” λ‚˜μ˜ 말을 λ“£μ§€ μ•ŠλŠ” 것 κ°™μ•„μ„œ 이 상황을 CTOλ‹˜μ—κ²Œ λ§μ”€λ“œλ Έλ‹€. CTOλ‹˜μ΄ κ·Έ λΆ„ν•œν…Œ λ§ν•˜λ‹ˆ κ·Έμ œμ„œμ•Ό μˆ˜κΈν•˜κ³  μ½”λ“œλ₯Ό μˆ˜μ •ν•˜λ”λΌ. (μˆ˜μ •ν•˜κ³ λ‚˜μ„œ ν…ŒμŠ€νŠΈλ„ μ•ˆν•˜κ³  commit, ν…ŒμŠ€νŠΈλŠ” λ‚˜μ˜ λͺ«!)
λ‚΄κ°€ ν•˜λŠ” 말에 λŒ€ν•΄μ„œ 신뒰성이 μ—†λ‚˜? ν•˜λŠ” λ§ˆμŒμ— '파이썬 클린 μ½”λ“œ'λ₯Ό λ°”λ‘œ μ£Όλ¬Έν–ˆλ‹€.

클린 μ½”λ“œ λΉ μ‚­ν•˜κ²Œ κ³΅λΆ€ν•˜κ² μ„œμš” πŸ˜€