์ฝ”ํ‹€๋ฆฐ์—์„œ ๋ณ€์ˆ˜์™€ ํƒ€์ž…, ์—ฐ์‚ฐ์ž๋ฅผ ๋‹ค๋ฃจ๋Š” ๋ฐฉ๋ฒ• #1
ยท
[ Kotlin ]
์ธํ”„๋Ÿฐ์—์„œ ์ œ๊ณตํ•˜๊ณ  ์žˆ๋Š” ๊ฐ•์˜๋ฅผ ๋ณด๊ณ  ์ •๋ฆฌํ•œ ๊ธ€์ž…๋‹ˆ๋‹ค.๋ณ€์ˆ˜ ์„ ์–ธ ํ‚ค์›Œ๋“œ - var ๊ณผ val ์˜ ์ฐจ์ด์ ๋ฐ”๊ฟ€ ์ˆ˜ ์žˆ๋Š” ํ‚ค์›Œ๋“œ๋Š” var ์„ ์‚ฌ์šฉํ•˜๊ณ , ๋ฐ”๊ฟ€ ์ˆ˜ ์—†๋Š” ํ‚ค์›Œ๋“œ๋Š” val (read-only) ์„ ์‚ฌ์šฉํ•œ๋‹ค. ์ฆ‰, var = variable , val = value ์˜ ์•ฝ์ž์ด๋‹ค. ํƒ€์ž… ๋ช…์‹œ๋ฅผ ์›ํ•œ๋‹ค๋ฉด ํƒ€์ž…์„ ๋ช…์‹œ์ ์œผ๋กœ ์ž‘์„ฑํ•ด์ค„ ์ˆ˜ ์žˆ๋‹ค.var number1: Long = 10L๋ณ€์ˆ˜๋ฅผ ๋งŒ๋“ค๊ณ  ์ดˆ๊ธฐ๊ฐ’์„ ์ง€์ •ํ•ด์ฃผ์ง€ ์•Š๋Š” ๊ฒฝ์šฐ๋Š”? ์ดˆ๊ธฐํ™”๋˜์ง€ ์•Š์€ ๋ณ€์ˆ˜๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด, ์ปดํŒŒ์ผ ์—๋Ÿฌ๊ฐ€ ๋‚œ๋‹ค.val ์ปฌ๋ ‰์…˜์—๋Š” element๋Š” ์ถ”๊ฐ€ํ•  ์ˆ˜ ์žˆ๋‹ค.๋ชจ๋“  ๋ณ€์ˆ˜๋Š” ์šฐ์„  val ๋กœ ๋งŒ๋“ค๊ณ , ๊ผญ ํ•„์š”ํ•œ ๊ฒฝ์šฐ์—๋งŒ var ๋กœ ๋ณ€๊ฒฝํ•˜๋ฉด, ์ฝ”๋“œ๊ฐ€ ๊น”๋”ํ•ด์งˆ ์ˆ˜ ์žˆ๋‹ค.Nullablenull ์ด ๋“ค์–ด๊ฐˆ ๋ณ€์ˆ˜๊ฐ€ ์žˆ๋‹ค๋ฉด ํƒ€์ž…? ์„ ์‚ฌ์šฉํ•œ๋‹ค.var..
Clean Code - 4์žฅ ์ฃผ์„
ยท
[ Review ]
Clean Code๋ฅผ ์ฝ๊ณ  ์ •๋ฆฌํ•œ ๊ธ€์ž…๋‹ˆ๋‹ค. 240313. 23:51 ๋ถ€์ •ํ™•ํ•œ ์ฃผ์„์€ ์—†๋Š” ๊ฒƒ๋ณด๋‹ค ๋‚˜์˜๋ฉฐ, ์ฃผ์„์„ ๊ฐ€๋Šฅํ•œ ์ค„์ด๋„๋ก ๋Š์ž„์—†์ด ๋…ธ๋ ฅํ•ด์•ผ ํ•œ๋‹ค. ์ฃผ์„์€ ๋‚˜์œ ์ฝ”๋“œ๋ฅผ ๋ณด์™„ํ•˜์ง€ ๋ชปํ•จ ์ฝ”๋“œ๋กœ ์˜๋„๋ฅผ ํ‘œํ˜„ํ•˜๊ธฐ ์ข‹์€ ์ฃผ์„ ๋ฒ•์ ์ธ ์ฃผ์„ ์ €์ž‘๊ถŒ ์ •๋ณด/ ์†Œ์œ ๊ถŒ ์ •๋ณด๋Š” ํ•„์š”ํ•œ ์ฃผ์„์ด๋‹ค. ์ •๋ณด๋ฅผ ์ œ๊ณตํ•˜๋Š” ์ฃผ์„ // kk:mm:ss EEE, MMM dd, yyyy ํ˜•์‹ Pattern timeMatcher = Pattern.compile( "\\d*:\\d*:\\d* \\w*, \\w* \\d*, \\d*"); ์˜๋„๋ฅผ ์„ค๋ช…ํ•˜๋Š” ์ฃผ์„ ์˜๋ฏธ๋ฅผ ๋ช…๋ฃŒํ•˜๊ฒŒ ๋ฐํžˆ๋Š” ์ฃผ์„ ๊ฒฐ๊ณผ๋ฅผ ๊ฒฝ๊ณ ํ•˜๋Š” ์ฃผ์„ TODO ์ฃผ์„ ์ค‘์š”์„ฑ์„ ๊ฐ•์กฐํ•˜๋Š” ์ฃผ์„ ๊ณต๊ฐœ API์—์„œ JavaDocs ๋‚˜์œ ์ฃผ์„ ์ฃผ์ ˆ๊ฑฐ๋ฆฌ๋Š” ์ฃผ์„ ๊ฐ™์€ ์ด์•ผ๊ธฐ๋ฅผ ์ค‘๋ณตํ•˜๋Š” ์ฃผ์„ ์˜คํ•ดํ•  ์—ฌ..
Clean Code - 3์žฅ ํ•จ์ˆ˜
ยท
[ Review ]
Clean Code๋ฅผ ์ฝ๊ณ  ์ •๋ฆฌํ•œ ๊ธ€์ž…๋‹ˆ๋‹ค. 240312. 23:51 ํ•จ์ˆ˜๋Š” ์ตœ๋Œ€ํ•œ ์ž‘๊ฒŒ ๋งŒ๋“ค๊ธฐ ํ•จ์ˆ˜๋Š” ์ž‘์„ ์ˆ˜๋ก ์ข‹๋‹ค. if, else, while ๋ฌธ์— ๋“ค์–ด๊ฐ€๋Š” ๋ธ”๋ก์€ ํ•œ ์ค„์ด์–ด์•ผ ํ•œ๋‹ค๋Š” ๋ง์ด๋‹ค. ํ•จ์ˆ˜์—์„œ ํ•œ ๊ฐ€์ง€๋งŒ ์ฒ˜๋ฆฌ ํ•œ ๊ฐ€์ง€๋งŒ ์ฒ˜๋ฆฌํ•œ๋‹ค๋Š” ๋ง ์ค‘์—์„œ ํ•œ ๊ฐ€์ง€๊ฐ€ ์–ด๋””๊นŒ์ง€๋ฅผ ๋œปํ•˜๋Š”์ง€ ๋ชจํ˜ธํ•  ์ˆ˜ ์žˆ์ง€๋งŒ, ์ถ”์ƒํ™” ์ˆ˜์ค€์ด ํ•˜๋‚˜๋ผ๋ฉด, ํ•จ์ˆ˜๊ฐ€ ํ•œ ๊ฐ€์ง€ ์ผ์„ ์ฒ˜๋ฆฌํ•œ๋‹ค๊ณ  ํ•  ์ˆ˜ ์žˆ๋‹ค. ์ง€์ •๋œ ํ•จ์ˆ˜ ์•„๋ž˜์—์„œ ์ถ”์ƒํ™” ์ˆ˜์ค€์ด ํ•œ ๊ฐœ์ธ ๋‹จ๊ณ„๋งŒ ์ˆ˜ํ–‰ํ•œ๋‹ค๋ฉด, ๊ทธ ํ•จ์ˆ˜๋Š” ํ•œ ๊ฐ€์ง€ ์ž‘์—…๋งŒ ํ•œ๋‹ค๊ณ  ํ•  ์ˆ˜ ์žˆ๋‹ค. ํ•จ์ˆ˜๋‹น ์ถ”์ƒํ™” ์ˆ˜์ค€์€ ํ•˜๋‚˜๋กœ ํ•˜๊ธฐ ํ•œ ํ•จ์ˆ˜ ๋‚ด์— ์ถ”์ƒํ™” ์ˆ˜์ค€์„ ์„ž์œผ๋ฉด ์ฝ”๋“œ๋ฅผ ์ฝ๋Š” ์‚ฌ๋žŒ์ด ํ—ท๊ฐˆ๋ฆฐ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด์„œ .append() ์˜ ๊ฒฝ์šฐ, ์ถ”์ƒํ™”์˜ ์ˆ˜์ค€์ด ์•„์ฃผ ๋‚ฎ์ง€๋งŒ, .render() ์™€ ๊ฐ™์€ ๊ฒฝ์šฐ๋Š” ์ถ”์ƒํ™”๊ฐ€ ์ค‘๊ฐ„์ด..
coding-wave
wave.dev.log