[πŸ“šλ…ν›„κ° ] Clean Code_8. 경계

호랭이·2022λ…„ 9μ›” 25일
0

πŸ“šλ…ν›„κ°

λͺ©λ‘ 보기
3/4

λͺ¨λ“  μ†Œν”„νŠΈμ›¨μ–΄λ₯Ό 직접 κ°œλ°œν•˜κΈ°λ³΄λ‹€λŠ” νŒ¨ν‚€μ§€, μ˜€ν”ˆμ†ŒμŠ€, μ»΄ν¬λ„ŒνŠΈ 등을 ν†΅ν•΄μ„œ 개발 ν•˜λŠ” κ²½μš°κ°€ λ§Žλ‹€. 이번 μž₯μ—μ„œλŠ” μ™ΈλΆ€ μ½”λ“œμ™€ 우리 μ½”λ“œμ™€μ˜ 경계λ₯Ό κΉ”λ”ν•˜κ²Œ μ²˜λ¦¬ν•˜λŠ” 기법과 기ꡐλ₯Ό μ‚΄νŽ΄λ΄€λ‹€.

μ™ΈλΆ€ μ½”λ“œ μ‚¬μš©ν•˜κΈ°

νŒ¨ν‚€μ§€λ‚˜ ν”„λ ˆμž„μ›Œν¬ μ œκ³΅μžλŠ” μ μš©μ„±μ„ μ΅œλŒ€ν•œ λ„“μœΌλ €κ³  μ• μ“΄λ‹€. 반면, μ‚¬μš©μžλŠ” μžμ‹ μ˜ μš”κ΅¬μ— λ§žλŠ” μΈν„°νŽ˜μ΄μŠ€λ₯Ό λ°”λž€λ‹€. 이 차이둜 인해 μ‹œμŠ€ν…œμ˜ κ²½κ³„μ—μ„œ λ¬Έμ œκ°€ 생길 μ†Œμ§€κ°€ λ§Žλ‹€.
λ²”μš©μ„±μ΄ λ§Žμ€ μ½”λ“œλ₯Ό μ˜¬λ°”λ₯Έ μœ ν˜•μœΌλ‘œ λ³€ν™˜ν•  μ±…μž„μ€ ν”„λ ˆμž„μ›Œν¬λ₯Ό μ‚¬μš©ν•˜λŠ” κ°œλ°œμžμ—κ²Œ μžˆλ‹€. λ³€ν™˜ν•˜κ³  κ΄€λ¦¬ν•˜μ§€ μ•Šκ³  μ‚¬μš©ν•˜λ”λΌλ„ μ½”λ“œλŠ” λ™μž‘ν•˜μ§€λ§Œ κΉ¨λ—ν•œ μ½”λ“œλΌκ³  λ³΄κΈ°λŠ” μ–΄λ ΅λ‹€.
경계 μΈν„°νŽ˜μ΄μŠ€λ₯Ό μ‚¬μš©ν•  λ•Œμ—λŠ” 이λ₯Ό μ΄μš©ν•˜λŠ” ν΄λž˜μŠ€λ‚˜ 클래슀 계열 λ°–μœΌλ‘œ λ„˜κΈ°κ±°λ‚˜ λ…ΈμΆœλ˜μ§€ μ•Šλ„λ‘ μ£Όμ˜ν•˜μ—¬μ•Όν•œλ‹€. ν•΄λ‹Ή νƒ€μž… μΈμŠ€ν„΄μŠ€λ₯Ό μΈμˆ˜λ‚˜ λ°˜ν™˜κ°’μœΌλ‘œ μ‚¬μš©ν•˜μ§€ μ•ŠλŠ”λ‹€.

경계 μ‚΄ν”Όκ³  읡히기

μ™ΈλΆ€ μ½”λ“œλ₯Ό μ‚¬μš©ν•˜λ©΄ 개발이 νŽΈλ¦¬ν•˜κ³  빨라진닀. μ™ΈλΆ€ μ½”λ“œκ°€ μš°λ¦¬κ°€ λ§Œλ“  것은 μ•„λ‹ˆμ§€λ§Œ μžμ‹ μ„ μœ„ν•΄ μ‚¬μš©ν•  μ½”λ“œλ₯Ό ν…ŒμŠ€νŠΈν•˜λŠ” 것이 λ°”λžŒμ§ν•˜λ‹€.
보톡은 λ¬Έμ„œλ₯Ό 읽고, μ‚¬μš©λ²•μ„ κ²°μ •ν•˜κ³ , 우리의 μ½”λ“œλ₯Ό μž‘μ„±ν•΄ μ˜ˆμƒλŒ€λ‘œ λ™μž‘ν•˜λŠ”μ§€ ν™•μΈν•œλ‹€. ν•˜μ§€λ§Œ 우리 μ½”λ“œμ˜ 버그인지 라이브러리의 버그인지 ν•˜λŠ” 디버깅이 μ–΄λ ΅λ‹€.
μ™ΈλΆ€ μ½”λ“œλŠ” 읡히고 우리 μ½”λ“œμ— ν†΅ν•©ν•˜κΈ°λŠ” μ–΄λ ΅λ‹€. λŒ€μ‹  λ°˜λŒ€λ‘œ κ°„λ‹¨ν•œ ν…ŒμŠ€νŠΈ μΌ€μ΄μŠ€λ₯Ό μž‘μƒν•΄μ„œ μ™ΈλΆ€ μ½”λ“œλ₯Ό μ΅νžˆλŠ” 방법이 μžˆλ‹€.
이것을 ν•™μŠ΅ ν…ŒμŠ€νŠΈλΌ λΆ€λ₯Έλ‹€.
μ™ΈλΆ€ APIλ₯Ό ν˜ΈμΆœν•˜κ³  ν†΅μ œλœ ν™˜κ²½μ—μ„œ APIλ₯Ό μ œλŒ€λ‘œ μ΄ν•΄ν–ˆλŠ”μ§€ ν™•μΈν•˜λŠ” μ…ˆμ΄λ‹€.

ν•™μŠ΅ν…ŒμŠ€νŠΈλŠ” 곡짜 이상이닀

ν•™μŠ΅ν…ŒμŠ€νŠΈλŠ” λ“œλŠ” λΉ„μš© 없이 이해도λ₯Ό λ†’μ—¬μ£ΌλŠ” μ •ν™•ν•œ μ‹€ν—˜μ΄λ‹€. νˆ¬μžν•˜λŠ” λ…Έλ ₯보닀 μ–»λŠ” μ„±κ³Όκ°€ 크닀. λ§Œμ•½ νŒ¨ν‚€μ§€μ΄γ…‘ μƒˆ 버전이 λ‚˜μ˜¨λ‹€λ©΄ ν•™μŠ΅ν…ŒμŠ€νŠΈλ₯Ό 돌렀 차이가 μžˆλŠ”μ§€ ν™•μΈν•œλ‹€.
ν•™μŠ΅ν…ŒμŠ€νŠΈ 이후에 우리의 μ½”λ“œμ™€ ν†΅ν•©ν•œ 뒀에, νŒ¨ν‚€μ§€μ˜ 변동이 생길 수 μžˆλ‹€. νŒ¨ν‚€μ§€μ˜ μƒˆ 버전이 우리 μ½”λ“œμ™€ ν˜Έν™˜λ˜μ§€ μ•ŠμœΌλ©΄ 이λ₯Ό ν•™μŠ΅ν…ŒμŠ€νŠΈλ₯Ό 톡해 λ°ν˜€λ‚Ό 수 μžˆλ‹€.

κΉ¨λ—ν•œ 경계

κ²½κ³„μ—μ„œλŠ” ν₯미둜운 일이 많이 λ²Œμ–΄μ§„λ‹€. 변경이 λŒ€ν‘œμ μΈ μ˜ˆλ‹€. 섀계가 μš°μˆ˜ν•˜λ‹€λ©΄ λ³€κ²½ν•˜λŠ”λ° λ§Žμ€ νˆ¬μžκ°€ ν•„μš”ν•˜μ§€ μ•Šλ‹€.
ν†΅μ œν•˜μ§€ λͺ»ν•˜λŠ” μ½”λ“œλ₯Ό μ‚¬μš©ν•  λ•ŒλŠ” λ„ˆλ¬΄ λ§Žμ€ 투자λ₯Ό ν•˜κ±°λ‚˜ ν–₯ν›„ λ³€κ²½ λΉ„μš©μ΄ 컀지지 μ•Šλ„λ‘ μ£Όμ˜ν•΄μ•Όν•œλ‹€.
경계에 μœ„μΉ˜ν•˜λŠ” μ½”λ“œλŠ” κΉ”λ”νžˆ λΆ„λ¦¬ν•œλ‹€. λ˜ν•œ κΈ°λŒ€μΉ˜λ₯Ό μ •μ˜ν•˜λŠ” ν…ŒμŠ€νŠΈ μΌ€μ΄μŠ€λ„ μž‘μ„±ν•œλ‹€. μ™ΈλΆ€ νŒ¨ν‚€μ§€μ— μ˜μ‘΄ν•˜λŠ” λŒ€μ‹  ν†΅μ œκ°€ κ°€λŠ₯ν•œ 우리 μ½”λ“œμ— μ˜μ‘΄ν•˜λŠ” 편이 μ’‹λ‹€.
μ™ΈλΆ€ νŒ¨ν‚€μ§€λ₯Ό ν˜ΈμΆœν•˜λŠ” μ½”λ“œλ₯Ό κ°€λŠ₯ν•œ 쀄여 경계λ₯Ό κ΄€λ¦¬ν•˜μž.

profile
삐약

0개의 λŒ“κΈ€