Study/CleanCode

[Study][CleanCode - 1] 1. ๊นจ๋—ํ•œ ์ฝ”๋“œ

youn12 2022. 6. 28. 15:24
๐Ÿ“‹ ๋ชฉ์ฐจ.

0. ๋“ค์–ด๊ฐ€๋ฉด์„œ
    .5S ์›์น™

1. ๊นจ๋—ํ•œ ์ฝ”๋“œ
    .๋ฅด๋ธ”๋ž‘์˜ ๋ฒ•์น™
    .๊นจ๋—ํ•œ/๋‚˜์œ ์ฝ”๋“œ๋ž€
    .๋‹จ์ˆœ ์ฝ”๋“œ ๊ทœ์น™ ๊ตฌํ˜„์˜ ์ค‘์š” ์ˆœ์„œ
    .์ค‘๋ณต ์ œ๊ฑฐ์™€ ํ‘œํ˜„๋ ฅ์— ์ง‘์ค‘ํ•˜๊ธฐ ์œ„ํ•œ ์•„์ด๋””์–ด
    .์ž‘๊ฒŒ ์ถ”์ƒํ™” ํ•˜๊ธฐ
    .๋ณด์ด์Šค์นด์šฐํŠธ ๊ทœ์น™

โœ”๏ธ ๋‚ด์šฉ.

 

0. ๋“ค์–ด๊ฐ€๋ฉด์„œ

 

  • ๋Œ€๋‹ค์ˆ˜์˜ ํ”„๋กœ๊ทธ๋ž˜๋จธ์˜ ํ™œ๋™์€ 80% ์ด์ƒ์ด ์œ ์ง€๋ณด์ˆ˜๋ผ๊ณ  ๋ณผ ์ˆ˜ ์žˆ๋‹ค. 
  • ์œ ์ง€๋ณด์ˆ˜์— ์ดˆ์ ์„ ๋งž์ถ˜ TPM(Total Productive Management) ํ’ˆ์งˆ ๊ด€๋ฆฌ๋ก ์ด ๋“ฑ์žฅํ•˜๊ฒŒ ๋˜์—ˆ๋Š”๋ฐ TPM์„ ์ง€ํƒฑํ•˜๋Š” ๊ธฐ๋‘ฅ ํ•˜๋‚˜์ธ 5S ์›์น™์€ ๋‹ค์Œ๊ณผ ๊ฐ™๋‹ค.

 

์›์น™ ๋‚ด์šฉ
์ •๋ฆฌ(Seiri) or ์กฐ์ง(์ •๋ ฌ(Sort)) ์ ์ ˆํ•œ ๋ช…๋ช…๋ฒ• ๋“ฑ๊ณผ ๊ฐ™์€ ๋ฐฉ๋ฒ•์„ ์‚ฌ์šฉํ•ด ๋ฌด์—‡์ด ์–ด๋””์— ์žˆ๋Š”์ง€ ์•Œ์•„์•ผ ํ•œ๋‹ค.
์ •๋ˆ(Seidon) or ๋‹จ์ •ํ•จ(์ฒด๊ณ„ํ™”) ์ฝ”๋“œ๋Š” ๋ˆ„๊ตฌ๋‚˜ ์˜ˆ์ƒํ•˜๋Š” ์œ„์น˜์— ์žˆ์–ด์•ผ ํ•œ๋‹ค.
๊ทธ๋ ‡์ง€ ์•Š์œผ๋ฉด ๋‹ค์‹œ ์ •๋ˆํ•ด ๋ˆ„๊ตฌ๋‚˜ ์˜ˆ์ƒํ•˜๋Š” ์œ„์น˜๋กœ ์˜ฎ๊ฒจ์•ผ ํ•œ๋‹ค.
์ฒญ์†Œ(Seisoh) or ์ •๋ฆฌ(๊ด‘๋‚ด๊ธฐ) ๊ณผ๊ฑฐ ์ด๋ ฅ์ด๋‚˜ ๋ฏธ๋ž˜ ๋ฐ”๋žŒ์„ ๊ธฐ์–ตํ•œ ์ฃผ์„ ํ˜น์€ ์ฃผ์„์œผ๋กœ ์ฒ˜๋ฆฌํ•œ ์ฝ”๋“œ๋Š” ์ œ๊ฑฐํ•œ๋‹ค.
์ฒญ๊ฒฐ(Seiketsu) or ํ‘œ์ค€ํ™” ๊ทธ๋ฃน ๋‚ด์—์„œ ์ผ๊ด€์ ์ธ ๊ตฌํ˜„ ์Šคํƒ€์ผ๊ณผ ๊ธฐ๋ฒ•์˜ ํ•„์š”์„ฑ์„ ๊ฐ€์ง„๋‹ค.
์ƒํ™œํ™”(Shitsuke) or ๊ทœ์œจ  ๊ด€๋ก€๋ฅผ ๋”ฐ๋ฅด๊ณ , ์ž๊ธฐ ์ž‘ํ’ˆ์„ ์ž์ฃผ ๋Œ์•„๋ณด๊ณ , ๊ธฐ๊บผ์ด ๋ณ€๊ฒฝํ•˜๋Š” ๊ทœ์œจ์„ ๋œปํ•œ๋‹ค.

 

  • ์• ์ž์ผ์ด ์ถ”๊ตฌํ•˜๋Š” ํ•ต์‹ฌ์ ์ธ ๊ฐ€์น˜ 
    • ์ฝ”๋“œ์— ์ •์งํ•˜๊ณ 
    • ์ฝ”๋“œ์˜ ์ƒํƒœ์— ๊ด€ํ•ด ๋™๋ฃŒ๋“ค์—๊ฒŒ ์ •์งํ•˜๊ณ 
    • ์ž๊ธฐ ์ฝ”๋“œ์— ๋Œ€ํ•ด ์ž์‹ ์—๊ฒŒ ์ •์งํ•˜๋ผ. 

 

  • ์•„ํ‚คํ…์ฒ˜๋„, ๊นจ๋—ํ•œ ์ฝ”๋“œ๋„, ์™„๋ฒฝ์„ ์ฃผ์žฅํ•˜์ง€๋Š” ์•Š๋Š”๋‹ค. ๋‹จ์ง€ ์ตœ์„ ์„ ๋‹คํ•ด ์ •์งํ•˜๋ผ ์š”๊ตฌํ•  ๋ฟ์ด๋‹ค.

 

1. ๊นจ๋—ํ•œ ์ฝ”๋“œ

 

๋ฅด๋ธ”๋ž‘์˜ ๋ฒ•์น™
๋‚˜์ค‘์€ ๊ฒฐ์ฝ” ์˜ค์ง€ ์•Š๋Š”๋‹ค.


 ๋‚˜์œ ์ฝ”๋“œ๋ฅผ ์ž‘์„ฑ ํ›„ '๋‚˜์ค‘์— ๋‹ค์‹œ ๋Œ์•„์™€ ์ •๋ฆฌํ•˜๊ฒ ๋‹ค.' ๋ผ๋Š” ์ƒ๊ฐ์„ ๋งŽ์ด ํ•˜์ง€๋งŒ ๋Œ์•„์˜ค์ง€ ์•Š๋Š” ๊ฒฝ์šฐ๊ฐ€ ๋Œ€๋‹ค์ˆ˜์˜€๋‹ค.

๊ธฐํ•œ์„ ๋งž์ถ”๊ธฐ ์œ„ํ•ด ๋‚˜์œ ์ฝ”๋“œ๋ฅผ ์–‘์‚ฐํ•˜๊ฒŒ ๋œ๋‹ค. ํ•˜์ง€๋งŒ ์ง„์งœ ์ „๋ฌธ๊ฐ€๋Š” ๋‚˜์œ ์ฝ”๋“œ๋ฅผ ์–‘์‚ฐํ•˜๋ฉด ๊ธฐํ•œ์„ ๋งž์ถ”์ง€ ๋ชปํ•˜๊ฒŒ ๋˜๋ฆฌ๋ผ๋Š” ๊ฒƒ์„ ์•Œ๊ณ  ์žˆ๋‹ค.

 ๊ธฐํ•œ์„ ๋งž์ถ”๋Š” ์œ ์ผํ•œ ๋ฐฉ๋ฒ• ์ฆ‰, ๋นจ๋ฆฌ๊ฐ€๋Š” ๋ฐฉ๋ฒ•์€ ์–ธ์ œ๋‚˜ ์ฝ”๋“œ๋ฅผ ์ตœ๋Œ€ํ•œ ๊นจ๋—ํ•˜๊ฒŒ ์œ ์ง€ํ•˜๋Š” ์Šต๊ด€์ด๋‹ค.

 


 

.๊นจ๋—ํ•œ ์ฝ”๋“œ

 

 

 ๊นจ๋—ํ•œ ์ฝ”๋“œ๋ฅผ ์ž‘์„ฑํ•˜๋ ค๋ฉด '์ฒญ๊ฒฐ'์ด๋ผ๋Š” ํž˜๊ฒน๊ฒŒ ์Šต๋“ํ•œ ๊ฐ๊ฐ์„ ํ™œ์šฉํ•ด ์ž์ž˜ํ•œ ๊ธฐ๋ฒ•๋“ค์„ ์ ์šฉํ•˜๋Š” ์ ˆ์ œ์™€ ๊ทœ์œจ์ด ํ•„์š”ํ•˜๋‹ค.

  • '์ฝ”๋“œ ๊ฐ๊ฐ' ์ด ์—†๋Š” ํ”„๋กœ๊ทธ๋ž˜๋จธ๋Š” ๋•Œ๋กœ๋Š” ๋‚˜์œ ๋ชจ๋“ˆ์„ ์•Œ์•„๋ณธ๋‹ค. ํ•˜์ง€๋งŒ ๊ทธ๊ฒƒ์œผ๋กœ ๋์ด๋‹ค.
  • '์ฝ”๋“œ ๊ฐ๊ฐ' ์ด ์žˆ๋Š” ํ”„๋กœ๊ทธ๋ž˜๋จธ๋Š” ๋‚˜์œ ๋ชจ๋“ˆ์„ ๋ณด๋ฉด ์ข‹์€ ๋ชจ๋“ˆ๋กœ ๊ฐœ์„ ํ•  ๋ฐฉ์•ˆ์„ ๋– ์˜ฌ๋ฆฐ๋‹ค.

 

.๊นจ๋—ํ•œ ์ฝ”๋“œ๋ž€

  • ์„ธ์„ธํ•œ ์‚ฌํ•ญ๊นŒ์ง€ ๊ผผ๊ผผํ•˜๊ฒŒ ์ฒ˜๋ฆฌํ•˜๋Š” ์ฝ”๋“œ
  • ํ•œ ๊ฐ€์ง€๋ฅผ ์ž˜ํ•˜๋Š” ์ฝ”๋“œ. ํ•œ ๊ฐ€์ง€์— '์ง‘์ค‘' ํ•œ๋‹ค
  • ์ž˜ ์“ด ๋ฌธ์žฅ์ฒ˜๋Ÿผ ์ฝํ˜€์•ผ ํ•œ๋‹ค.
  • ์ž‘์„ฑ์ž๊ฐ€ ์•„๋‹Œ ๋‹ค๋ฅธ ์‚ฌ๋žŒ๋„ ์ฝ๊ธฐ ์‰ฝ๊ณ  ๊ณ ์น˜๊ธฐ ์‰ฝ๋‹ค.
  • ๋‹จ์œ„ ํ…Œ์ŠคํŠธ ์ผ€์ด์Šค์™€ ์ธ์ˆ˜ ํ…Œ์ŠคํŠธ ์ผ€์ด์Šค๊ฐ€ ์กด์žฌํ•œ๋‹ค.
  • ์˜๋ฏธ ์žˆ๋Š” ์ด๋ฆ„์œผ๋กœ ์ž‘์„ฑ๋œ๋‹ค.
  • ํŠน์ • ๋ชฉ์ ์„ ๋‹ฌ์„ฑํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ์—ฌ๋Ÿฌ๊ฐ€์ง€๊ฐ€ ์•„๋‹Œ ํ•˜๋‚˜๋งŒ ์ œ๊ณตํ•œ๋‹ค.
  • ์˜์กด์„ฑ์€ ์ตœ์†Œ์ด๋ฉฐ ๊ฐ ์˜์กด์„ฑ์„ ๋ช…ํ™•ํžˆ ์ •์˜ํ•œ๋‹ค.
  • ์ถ”์ธก์ด ์•„๋‹Œ ์‚ฌ์‹ค์— ๊ธฐ๋ฐ˜ํ•œ ์ฝ”๋“œ๋กœ, ๋ฐ˜๋“œ์‹œ ํ•„์š”ํ•œ ๋‚ด์šฉ๋งŒ ๋‹ด๊ฒจ์žˆ๋‹ค.
  • ์ฆ‰, ๋ˆ„๊ตฐ๊ฐ€ ์‹œ๊ฐ„์„ ๋“ค์—ฌ ๊น”๋”ํ•˜๊ณ  ๋‹จ์ •ํ•˜๊ฒŒ ์ •๋ฆฌํ•œ ์ฃผ์˜ ๊นŠ๊ฒŒ ์ž‘์„ฑํ•œ ์ฝ”๋“œ

 

.๋‚˜์œ ์ฝ”๋“œ๋ž€

  • ๋„ˆ๋ฌด ๋งŽ์€ ์ผ์„ ํ•˜๋ ค ์• ์“ฐ๋‹ค ์˜๋„๊ฐ€ ๋’ค์„ž์ด๊ณ  ๋ชฉ์ ์ด ํ๋ ค์ง„ ์ฝ”๋“œ

 


 

.๋‹จ์ˆœ ์ฝ”๋“œ ๊ทœ์น™ ๊ตฌํ˜„์˜ ์ค‘์š” ์ˆœ์„œ

 

  1. ๋ชจ๋“  ํ…Œ์ŠคํŠธ๋ฅผ ํ†ต๊ณผํ•œ๋‹ค.
  2. ์ค‘๋ณต์ด ์—†๋‹ค.
  3. ์‹œ์Šคํ…œ ๋‚ด ๋ชจ๋“  ์„ค๊ณ„ ์•„์ด๋””์–ด๋ฅผ ํ‘œํ˜„ํ•œ๋‹ค.
  4. ํด๋ž˜์Šค, ๋ฉ”์„œ๋“œ, ํ•จ์ˆ˜ ๋“ฑ์„ ์ตœ๋Œ€ํ•œ ์ค„์ธ๋‹ค.

 

.์ค‘๋ณต ์ œ๊ฑฐ์™€ ํ‘œํ˜„๋ ฅ์— ์ง‘์ค‘ํ•˜๊ธฐ ์œ„ํ•œ ์•„์ด๋””์–ด

 

  • ๊ฐ์ฒด๊ฐ€ ์—ฌ๋Ÿฌ ๊ธฐ๋Šฅ์„ ์ˆ˜ํ–‰ํ•œ๋‹ค๋ฉด ์—ฌ๋Ÿฌ ๊ฐ์ฒด๋กœ ๋‚˜๋ˆˆ๋‹ค.
  • ๋ฉ”์„œ๋“œ๊ฐ€ ์—ฌ๋Ÿฌ ๊ธฐ๋Šฅ์„ ์ˆ˜ํ–‰ํ•œ๋‹ค๋ฉด ๋ฉ”์„œ๋“œ ์ถ”์ถœ(Extract Method) ๋ฆฌํŽ™ํ„ฐ๋ง ๊ธฐ๋ฒ•์„ ์ ์šฉํ•œ๋‹ค
    • ๋ฉ”์„œ๋“œ ์ถ”์ถœ(ExtractMethod) ์‚ฌ์šฉ -> ๊ธฐ๋Šฅ์„ ๋ช…ํ™•ํžˆ ๊ธฐ์ˆ ํ•˜๋Š” ๋ฉ”์„œ๋“œ ํ•˜๋‚˜์™€ ๊ธฐ๋Šฅ์„ ์‹ค์ œ๋กœ ์ˆ˜ํ–‰ํ•˜๋Š” ๋ฉ”์„œ๋“œ ์—ฌ๋Ÿฌ๊ฐœ๋กœ ๋‚˜๋ˆˆ๋‹ค.

 

 ์ค‘๋ณต๊ณผ ํ‘œํ˜„๋ ฅ๋งŒ ์‹ ๊ฒฝ ์จ๋„ ๊นจ๋—ํ•œ ์ฝ”๋“œ๋ผ๋Š” ๋ชฉํ‘œ์— ๋‹ค๊ฐ€์„ค ์ˆ˜ ์žˆ๋‹ค.

 


 

.์ž‘๊ฒŒ ์ถ”์ƒํ™” ํ•˜๊ธฐ

 

 ๋ชจ๋“  ํ”„๋กœ๊ทธ๋žจ์ด ์•„์ฃผ ์œ ์‚ฌํ•œ ์š”์†Œ๋กœ ์ด๋ฃจ์–ด์ง„๋‹ค.

์˜ˆ๋กœ '์ง‘ํ•ฉ์—์„œ ํ•ญ๋ชฉ ์ฐพ๊ธฐ'์˜ ๊ฒฝ์šฐ Key/Value์˜ ๋งต์ด๋“ , ๋ฐฐ์—ด ๋“ฑ์˜ ์ง‘ํ•ฉ์—์„œ ํ•ญ๋ชฉ ์ฐพ๊ธฐ๋ฅผ ์ž์ฃผ ์ ‘ํ•˜๊ฒŒ ๋œ๋‹ค.

์ด๋Ÿฌํ•œ ์ƒํ™ฉ์—์„œ ์ถ”์ƒ ๋ฉ”์„œ๋“œ๋‚˜ ์ถ”์ƒ ํด๋ž˜์Šค๋ฅผ ๋งŒ๋“ค์–ด ์‹ค์ œ ๊ตฌํ˜„์„ ๊ฐ์‹ธ๊ฒŒ ๋˜๋ฉด ์—ฌ๋Ÿฌ๊ฐ€์ง€ ์žฅ์ ์ด ์ƒ๊ธด๋‹ค.

 

  • ๋‹ค๋ฅธ ์ฝ”๋“œ๋Š” ์ถ”์ƒ ํด๋ž˜์Šค๋‚˜ ์ถ”์ƒ ๋ฉ”์„œ๋“œ๊ฐ€ ์ œ๊ณตํ•˜๋Š” ๊ธฐ๋Šฅ์„ ์‚ฌ์šฉํ•˜๋ฏ€๋กœ ์‹ค์ œ ๊ตฌํ˜„์€ ์–ธ์ œ๋“ ์ง€ ๋ฐ”๊ฟ”๋„ ๊ดœ์ฐฎ๋‹ค.
  • ์ง‘ํ•ฉ ๊ธฐ๋Šฅ์„ ๊ตฌํ˜„ํ•  ํ•„์š”๊ฐ€ ์—†์–ด์ง€๋ฏ€๋กœ '์ง„์งœ' ๋ฌธ์ œ์— ์‹ ๊ฒฝ ์“ธ ์—ฌ์œ ๊ฐ€ ์ƒ๊ธด๋‹ค.

๋ณด์ด์Šค์นด์šฐํŠธ ๊ทœ์น™
์บ ํ”„์žฅ์€ ์ฒ˜์Œ ์™”์„ ๋•Œ๋ณด๋‹ค ๋” ๊นจ๋—ํ•˜๊ฒŒ ํ•ด ๋†“๊ณ  ๋– ๋‚˜๋ผ.

 ์ฒดํฌ์•„์›ƒํ•  ๋•Œ๋ณด๋‹ค ์ข€ ๋” ๊นจ๋—ํ•œ ์ฝ”๋“œ๋ฅผ ์ฒดํฌ์ธํ•œ๋‹ค๋ฉด ์ฝ”๋“œ๋Š” ์ ˆ๋Œ€ ๋‚˜๋น ์ง€์ง€ ์•Š๋Š”๋‹ค.

ํ•œ๊บผ๋ฒˆ์— ๋งŽ์€ ์‹œ๊ฐ„๊ณผ ๋…ธ๋ ฅ์„ ํˆฌ์ž์— ์ •๋ฆฌํ•  ํ•„์š”๊ฐ€ ์—†๋‹ค. ๊ฐ„๋‹จํ•œ ์ •๋ฆฌ๋กœ๋„ ์ถฉ๋ถ„ํ•˜๋‹ค.

  • ๋ณ€์ˆ˜ ์ด๋ฆ„ ํ•˜๋‚˜ ๊ฐœ์„ 
  • ์กฐ๊ธˆ ๊ธด ํ•จ์ˆ˜ ํ•˜๋‚˜ ๋ถ„ํ• 
  • ์•ฝ๊ฐ„์˜ ์ค‘๋ณต ์ œ๊ฑฐ
  • ๋ณต์žกํ•œ if๋ฌธ ํ•˜๋‚˜ ์ •๋ฆฌ

 

์ง€์† ์ ์ธ ๊ฐœ์„ ์œผ๋กœ ๊นจ๋—ํ•œ ์ฝ”๋“œ์˜ ์œ ์ง€๊ฐ€ ๊ฐ€๋Šฅํ•  ๊ฒƒ์ด๋‹ค.


๐Ÿ“ ๋Š๋‚€์ .

- ๋‚˜์œ ์ฝ”๋“œ๋ฅผ ๋งŒ๋“ค๋ฉฐ ์ฝ”๋“œ ๊ฐœ์„ ์„ ๋‚˜์ค‘์œผ๋กœ ๋ฏธ๋ฃจ์ง€ ์•Š๊ณ  ์–ธ์ œ๋‚˜ ๊นจ๋—ํ•œ ์ฝ”๋“œ๋ฅผ ์œ ์ง€ํ•˜๊ธฐ ํ•˜๋„๋ก ๋…ธ๋ ฅํ•œ๋‹ค.
- ํ•œ ๋ฒˆ์— ๋งŽ์€ ๊ฒƒ์„ ๊ฐœ์„ ํ•˜๋ ค ํ•˜๊ธฐ๋ณด๋‹ค๋Š” ์ž‘์€ ๊ฒƒ์„ ๊พธ์ค€ํžˆ ์ด๋ฃจ์–ด ๋‚˜๊ฐ€์ž.