πŸ“’ 개발 μ„œμ /Clean Code

[클린 μ½”λ“œ] 2μž₯ 의미 μžˆλŠ” 이름

nitronium102 2022. 2. 21. 02:45

TIL (Today I Learned)

22.02.20

였늘 읽은 λ²”μœ„

2μž₯ 의미 μžˆλŠ” 이름

μ±…μ—μ„œ κΈ°μ–΅ν•˜κ³  싢은 λ‚΄μš©

- μ˜λ„λ₯Ό λΆ„λͺ…νžˆ λ°ν˜€λΌ : 이름은 λ³€μˆ˜/ν•¨μˆ˜/클래슀의 쑴재 이유, μˆ˜ν–‰ κΈ°λŠ₯, μ‚¬μš© 방법을 λͺ¨λ‘ λ‚˜νƒ€λ‚΄μ•Ό ν•œλ‹€.

- λ³€μˆ˜ 이름에 μ˜λ―Έκ°€ 뢈λͺ…ν™•ν•œ λΆˆμš©μ–΄λ₯Ό μΆ”κ°€ν•˜λŠ” 것은 μ’‹μ§€ μ•Šλ‹€.

ex) Product -> ProductInfo, ProductData

- λ²”μœ„ 길이가 길수둝 이름을 μ •ν™•ν•˜κ³  길게 μ§€μ–΄μ•Ό ν•œλ‹€.

- 클래슀 이름 : λͺ…μ‚¬λ‚˜ λͺ…사ꡬ / λ©”μ„œλ“œ 이름 : λ™μ‚¬λ‚˜ 동사ꡬ

- λ§₯락을 λΆ€μ—¬ν•˜κ³  ν•¨μˆ˜λ₯Ό μͺΌκ°œλΌ.

 

- μ‚¬λžŒλ“€μ΄ 이름을 λ°”κΎΈμ§€ μ•ŠμœΌλ €λŠ” 이유 쀑 ν•˜λ‚˜λŠ” λ‹€λ₯Έ κ°œλ°œμžκ°€ λ°˜λŒ€ν• κΉŒ λ‘λ €μ›Œμ„œλ‹€. κ·ΈλŸ¬λ‚˜ μš°λ¦¬λ“€ 생각은 λ‹€λ₯΄λ‹€. 였히렀 쒋은 μ΄λ¦„μœΌλ‘œ λ°”κΏ”μ£Όλ©΄ λ°˜κ°‘κ³  κ³ λ§™λ‹€.

 

였늘 읽은 μ†Œκ°

- λ³€μˆ˜ 이름에 μ˜λ―Έκ°€ 뢈λͺ…ν™•ν•œ λΆˆμš©μ–΄λ₯Ό μΆ”κ°€ν•˜λŠ” 것은 μ’‹μ§€ μ•Šλ‹€.

ProductInfo 처럼 뒀에 Info같은 이름을 뢙이곀 ν–ˆλŠ”λ° μ €κ²Œ λΆˆλΆ„λͺ…ν•œ λ°©μ‹μ΄λΌλŠ” 것을 μ•Œκ²Œ 됐닀. μ•žμœΌλ‘œλŠ” μ’€ 더 μ˜λ―Έκ°€ λͺ…ν™•ν•œ 단어λ₯Ό μ‚¬μš©ν•΄ λ§₯락을 λΆ€μ—¬ν•΄μ•Όκ² λ‹€. 

 

- μ˜λ„λ₯Ό λΆ„λͺ…νžˆ λ°ν˜€λΌ

for (int[] cell : gameBoard)
	if (cell[0] == 4)
    		flaggedCells.add(cell)

 μ›λž˜λŠ” μœ„ μ½”λ“œμ²˜λŸΌ 0번째 값을 주둜 μ‚¬μš©ν•˜κ³  μžˆμ—ˆλŠ”λ°, μ•„λž˜μ²˜λŸΌ (1) 0값을 ν•΄λ‹Ή κ°’μ˜ 의미둜 λ°”κΏ”μ£Όκ±°λ‚˜ (2) κ°„λ‹¨ν•œ 클래슀λ₯Ό μ΄μš©ν•΄ 비ꡐ할 수 μžˆλ‹€λŠ” 것을 μ•Œκ²Œ 됐닀! μ•žμœΌλ‘œ 이 방법은 자주 μ“Έ 수 μžˆμ„ 것 κ°™λ‹€.

for (Cell cell : gameBoard)
	// (1)
    	if (cell[STATUS_VALUE] == FLAGGED)
    		flaggedCells.add(cell)
	// (2)
	if (cell.isFlagged())
    		flaggedCells.add(cell)

 

κΆκΈˆν•˜κ±°λ‚˜ 잘 μ΄ν•΄λ˜μ§€ μ•ŠλŠ” λ‚΄μš©

- λΆˆμš©μ–΄(stop word) : λ¬Έμž₯을 κ΅¬μ„±ν•˜λŠ” ν•„μˆ˜ μš”μ†Œμ§€λ§Œ λ¬Έλ§₯적으둜 큰 μ˜λ―Έκ°€ μ—†λŠ” 단어