๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
๐Ÿ“’ ๊ฐœ๋ฐœ ์„œ์ /Clean Code

[ํด๋ฆฐ ์ฝ”๋“œ] 2์žฅ ์˜๋ฏธ ์žˆ๋Š” ์ด๋ฆ„

by nitronium102 2022. 2. 21.

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) : ๋ฌธ์žฅ์„ ๊ตฌ์„ฑํ•˜๋Š” ํ•„์ˆ˜ ์š”์†Œ์ง€๋งŒ ๋ฌธ๋งฅ์ ์œผ๋กœ ํฐ ์˜๋ฏธ๊ฐ€ ์—†๋Š” ๋‹จ์–ด

๋Œ“๊ธ€