TIL - 2022

[μš°μ•„ν•œ ν…Œν¬μ½”μŠ€] ν”„λ¦¬μ½”μŠ€ 3μ£Όμ°¨ 회고

λ°”λž„ 희 2022. 11. 15. 23:05

πŸ€ λ―Έμ…˜μ— λ“€μ–΄κ°€κΈ° 이전에..

2μ£Όμ°¨ 곡톡 ν”Όλ“œλ°±μ—μ„œ λ‚΄κ°€ λ†“μΉœ λΆ€λΆ„ μ°ΎκΈ°

- λ§ˆν¬λ‹€μš΄μ€ ν”„λ‘œμ νŠΈλ₯Ό μ†Œκ°œν•œλ‹€. μ–΄λ–€ κΈ°λŠ₯을 λ‹΄κ³  μžˆλŠ”μ§€ κΈ°μˆ ν•΄μ•Ό ν•œλ‹€.

μ—¬νƒœκΉŒμ§€ λ§ˆν¬λ‹€μš΄μ„ 잘 μ‹ κ²½μ“°μ§€ λͺ»ν•œ 것 κ°™λ‹€. λ§ˆν¬λ‹€μš΄μ€ μš°ν…Œμ½” μΈ‘μ—μ„œ μ œκ³΅ν•˜κ³  μžˆλŠ” λ‚΄μš©μœΌλ‘œ μΆ©λΆ„ν•  것이라고 μƒκ°ν•˜κΈ°λ„ ν–ˆκ³ , μ½”λ“œ κ΅¬ν˜„μ— κΈ‰κΈ‰ν–ˆλ˜ 것 같기도 ν•˜λ‹€.

 

- κΈ°λŠ₯λͺ©λ‘μ„ λ„ˆλ¬΄ μžμ„Ένžˆ μž‘μ„±ν•˜μ§€ 말 것

λ©”μ„œλ“œλͺ…, 클래슀λͺ…κΉŒμ§€ μž‘μ„±ν•˜μ§€ μ•Šμ•„λ„ λœλ‹€κ³  ν•œλ‹€. 무쑰건 μžμ„Ένžˆλ§Œ μƒκ°ν•˜λŠ” 것이 λŠ₯μ‚¬λŠ” μ•„λ‹Œ 것 κ°™λ‹€. λ‚˜ μ—­μ‹œλ„ μ €λ²ˆμ£Όμ°¨μ— 클래슀λͺ…κΉŒμ§€ 썼닀가 μ—¬λŸ¬λ²ˆ λ¬Έμ„œλ₯Ό μˆ˜μ •ν•΄μ•Ό ν•΄μ„œ 어렀움을 κ²ͺ은 적이 μžˆκΈ°μ— 이에 λŒ€ν•΄μ„œ λ™κ°ν–ˆλ‹€.

 

- λ³€μˆ˜ 이름에 μžλ£Œν˜•μ„ μ‚¬μš©ν•˜μ§€ μ•ŠλŠ”λ‹€.

μ΄μ œκΉŒμ§€ 계속 ν•΄μ˜€λ˜.. 버릇이닀.. μ΄μ œλŠ” ν•˜μ§€λ§μž!

이에 κ΄€ν•΄μ„œ slack μ—μ„œ 찾아보닀가 friendsList μ˜€λ˜ λ³€μˆ˜λͺ…을 μžλ£Œν˜•μ„ set 으둜 λ°”κΏ¨λ‹€κ³  ν•΄μ„œ friendsSet 으둜 λ°”κΏ€ κ²ƒμ΄λƒλŠ” λΉ„μœ λ₯Ό λ“€μ—ˆμ„ λ•Œ λ‹¨λ²ˆμ— 이해가 κ°€μ„œ 이 버릇을 λ°˜λ“œμ‹œ 버렀야겠닀고 μƒκ°ν–ˆλ‹€.

 

- ν…ŒμŠ€νŠΈμ½”λ“œ μ§œλŠ” 방법에 λŒ€ν•œ 자료

@BeforeEach μ‚¬μš©ν•˜κΈ°

 

 

πŸ€ μ΄λ²ˆμ£Όμ°¨μ— κ°œμ„ ν•œ λΆ€λΆ„

- mvc νŒ¨ν„΄μ„ μ§€ν‚€κΈ° μœ„ν•΄μ„œ model λ‹¨μ—μ„œ view 단을 ν˜ΈμΆœν•˜μ§€ μ•Šλ„λ‘ κ°œμ„ 

μ΄μ „μ£Όμ°¨κΉŒμ§€λŠ” controller 의 μ½”λ“œλ₯Ό κΉ”λ”ν•˜κ²Œ κ°€μ Έκ°€μ•Ό ν•œλ‹€κ³  μƒκ°ν•΄μ„œ view λ₯Ό ν˜ΈμΆœν•˜λŠ” μ½”λ“œλ₯Ό μ „λΆ€ model 단에 λ„£μ–΄λ’€μ—ˆλ‹€. 그런데 μ΄λ ‡κ²Œ ν•˜λ‹ˆ 역할이 λͺ…ν™•ν•˜κ²Œ λΆ„λ¦¬λ˜μ§€ μ•ŠλŠ”λ‹€κ³  μƒκ°ν–ˆκ³ , λͺ¨λΈμ˜ ν…ŒμŠ€νŠΈμ½”λ“œλ₯Ό μ§€ λ•Œλ„ 일일이 inputstream 을 μ‚¬μš©ν•΄μ•Ό ν•˜λŠ” 어렀움이 μžˆμ–΄μ„œ 이λ₯Ό κ°œμ„ ν•˜κ²Œ λ˜μ—ˆλ‹€.

 

πŸ€ μ΄λ²ˆμ£Όμ°¨μ— λŠλ‚€μ 

이번 μ£Όμ°¨ λ―Έμ…˜ 곡유 메일에 적힌 것과 같이 클래슀의 뢄리와 도메인 λ‘œμ§μ— λŒ€ν•œ λ‹¨μœ„ ν…ŒμŠ€νŠΈλ₯Ό μž‘μ„±ν•˜λŠ” μ—°μŠ΅μ— μ΄ˆμ μ„ λ‘μ–΄μ„œ λŠλ‚€ 점을 κΈ°μˆ ν•˜κ³ μž ν•©λ‹ˆλ‹€. μš°μ„ , 클래슀 뢄리λ₯Ό μƒκ°ν•˜λ‹€λ³΄λ‹ˆ λ―Έμ…˜ μ§„ν–‰ 쀑 처음으둜 상속을 μ‚¬μš©ν•˜κ²Œ λ˜μ—ˆμŠ΅λ‹ˆλ‹€. 예λ₯Ό λ“€μ–΄, 당첨 번호의 μœ νš¨μ„±μ„ κ²€μ‚¬ν•˜λŠ” ν΄λž˜μŠ€μ™€ λ³΄λ„ˆμŠ€ 번호λ₯Ό κ²€μ‚¬ν•˜λŠ” ν΄λž˜μŠ€λŠ” λ²”μœ„ ν™•μΈμ΄λ‚˜ 기쑴의 μˆ«μžμ™€ κ²ΉμΉ˜μ§€ μ•Šμ•„μ•Ό ν•œλ‹€λŠ” μ μ—μ„œ 곡톡적인 λ‘œμ§μ„ κ°–μ§€λ§Œ, λ‹€λ₯Έ λ‘œμ§μ„ κ°–λŠ” 뢀뢄듀도 μ‘΄μž¬ν–ˆμŠ΅λ‹ˆλ‹€. λ”°λΌμ„œ μ²˜μŒμ—λŠ” ν•œ 클래슀 내뢀에 μ˜€λ²„λ‘œλ”©μ„ ν†΅ν•΄μ„œ κ΅¬ν˜„ν•˜κ³ μž ν–ˆμ§€λ§Œ, μ΄λŠ” 가독성을 ν•΄μΉ˜κ³  λͺ…ν™•ν•˜μ§€ μ•Šμ€ λ©”μ„œλ“œλͺ…을 λ‚³λŠ”λ‹€κ³  생각해 상속과 클래슀의 뢄리λ₯Ό ν†΅ν•΄μ„œ 이λ₯Ό ν•΄κ²°ν–ˆμŠ΅λ‹ˆλ‹€. 이λ₯Ό 톡해 각 클래슀의 μ—­ν• κ³Ό λͺ…뢄을 λͺ…ν™•νžˆ ν•˜λŠ” 것이 μ½”λ“œλ₯Ό μ§œλŠ” μž…μž₯μ—μ„œλ„, μ½λŠ” μž…μž₯μ—μ„œλ„ ν˜Όλˆμ„ μ£Όμ§€ μ•Šμ„ 것이라고 μƒκ°ν–ˆμŠ΅λ‹ˆλ‹€. 곡톡적인 뢀뢄은 ν™•μ‹€ν•˜κ²Œ 묢되, 차이가 μžˆλŠ” 뢀뢄은 곡톡적인 뢀뢄을 μ€‘μ‹¬μœΌλ‘œ λͺ…ν™•ν•œ 뢄리가 ν•„μš”ν•˜λ‹€κ³  μƒκ°ν–ˆμŠ΅λ‹ˆλ‹€. λ˜ν•œ 도메인 λ‘œμ§μ— λ”°λ₯Έ λ‹¨μœ„ ν…ŒμŠ€νŠΈλ₯Ό μž‘μ„±ν•˜λ©° μ§€λ‚œ 주차에 μ–ΈκΈ‰ν–ˆλ“―, λ©”μ„œλ“œ κ°„μ˜ 결합도에 λŒ€ν•˜μ—¬ 고민해보고, κ·Έ 강도가 κ°•ν•  κ²½μš°μ—λŠ” μ–΄λ–»κ²Œ μ™„ν™”μ‹œν‚¬ 수 μžˆμ„μ§€ κ³ λ―Όν–ˆμŠ΅λ‹ˆλ‹€. μ΄λ²ˆμ£Όμ°¨μ—λŠ” κΈ°λŠ₯ κ΅¬ν˜„μ„ ν•˜λ©° 그에 λ”°λ₯Έ ν…ŒμŠ€νŠΈ λͺ©λ‘ 사항도 μ •λ¦¬ν•˜μ—¬ μ§„ν–‰ν•΄ λ‚˜κ°”μŠ΅λ‹ˆλ‹€. κΈ°λŠ₯에 ν•΄λ‹Ήν•˜λŠ” μ½”λ“œλ₯Ό μ§ λ’€ ν…ŒμŠ€νŠΈ μ½”λ“œλ₯Ό μ§œλŠ” 버릇을 λ“€μ΄λ‹ˆ μ œκ°€ μ§  μ½”λ“œλ₯Ό λŒμ•„λ³΄λ©° 1. μ–΄λ–€ κΈ°λŠ₯을 검증해야 ν• μ§€ κ³ λ―Όν•˜λ©° λ©”μ„œλ“œμ˜ 역할을 κ³ λ―Όν•˜κ²Œ λ˜μ—ˆκ³ , 2. κ²€μ¦ν•˜λŠ” κ³Όμ •μ—μ„œ κΈ°λŠ₯ κ΅¬ν˜„μ— ν•΄λ‹Ήν•˜λŠ” μ½”λ“œκ°€ νš¨μœ¨μ μΈμ§€ κ³ λ―Όν•˜κ²Œ λ˜μ—ˆμŠ΅λ‹ˆλ‹€. 이번 μ£Όμ°¨μ—λŠ” μ €λ²ˆμ£Όμ°¨μ™€ λ‹€λ₯΄κ²Œ ν…ŒμŠ€νŠΈμ½”λ“œ μ—­μ‹œλ„ κΈ°λŠ₯ κ΅¬ν˜„μ— λ“€μ΄λŠ” μ‹œκ°„λ§ŒνΌ μ •κ΅ν•˜κ²Œ κ΅¬ν˜„ν•΄λ‚΄κ³ μž λ…Έλ ₯ν–ˆμŠ΅λ‹ˆλ‹€. Assertions의 λ‹€μ–‘ν•œ λ©”μ„œλ“œλ₯Ό μ‚¬μš©ν–ˆκ³ , @BefroeEach 와 @DisplayName을 μ‚¬μš©ν•˜κΈ°λ„ ν–ˆμŠ΅λ‹ˆλ‹€. 뿐만 μ•„λ‹ˆλΌ  κΈ°μ‘΄μ—λŠ” 였λ₯˜λ₯Ό 직접 μž…λ ₯값을 μž…λ ₯ν•΄ μž‘μ•„μ•Ό ν•œλ‹€λŠ” 생각에 ν•œκ³„κ°€ μ‘΄μž¬ν•œλ‹€κ³  μƒκ°ν–ˆλŠ”λ° ν…ŒμŠ€νŠΈμ½”λ“œλ₯Ό μ΄μš©ν•˜λ‹€λ³΄λ‹ˆ μ˜ˆμƒμΉ˜ λͺ»ν•œ 였λ₯˜λ„ ν•΄κ²°ν•  수 있게 λ˜μ—ˆκ³ , μƒλŒ€μ μœΌλ‘œ κΈ°λŠ₯ κ΅¬ν˜„μ„ ν•˜λŠ” μ½”λ“œλ₯Ό μ§œλŠ” 데에 μžˆμ–΄ 뢀담감이 λœν•΄μ§„λ‹€λŠ” 생각이 λ“€μ—ˆμŠ΅λ‹ˆλ‹€.