hugDog
Android DevLog
hugDog
์ „์ฒด ๋ฐฉ๋ฌธ์ž
์˜ค๋Š˜
์–ด์ œ
  • ๐Ÿ™Œ Hello? (162)
    • ๐Ÿงฉ์•ˆ๋“œ๋กœ์ด๋“œ (12)
      • ๊ฐœ๋… ์ •๋ฆฌ (5)
      • ๋ฒ„๊ทธ ํ•ด๊ฒฐ (4)
      • ๊ธฐํƒ€ (3)
    • ๐Ÿ”์•Œ๊ณ ๋ฆฌ์ฆ˜ (54)
      • ๊ฐœ๋… (0)
      • ๋ฐฑ์ค€ (48)
      • ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค (6)
    • ๐Ÿ“„๊ฐœ๋ฐœ ์ผ์ง€ (0)
      • FINPO (0)
    • ๐Ÿ”คํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด (71)
      • C++ ์ •๋ฆฌ (49)
      • C++๊ธฐ์ดˆํ”Œ๋Ÿฌ์Šค ์—ฐ์Šต๋ฌธ์ œ (20)
      • Kotlin (2)
    • โญProject (1)
    • ๐ŸšดTIL (13)
      • Clean Code (13)
    • ๐Ÿšฉ๊ธฐํƒ€ (9)
      • ๋ชฉํ‘œ (6)
      • ์ผ์ƒ (3)
      • ๋ฌธ์„œ (0)

์ธ๊ธฐ ๊ธ€

์ตœ๊ทผ ๋Œ“๊ธ€

์ตœ๊ทผ ๊ธ€

ํ‹ฐ์Šคํ† ๋ฆฌ

hELLO ยท Designed By ์ •์ƒ์šฐ.
hugDog
๐ŸšดTIL/Clean Code

[TIL/Clean Code] Assignment #03

๐ŸšดTIL/Clean Code

[TIL/Clean Code] Assignment #03

2022. 2. 20. 20:50
728x90

TIL (Today I Learned)

 

์˜ค๋Š˜ ์ฝ์€ ๋ฒ”์œ„

2์žฅ ์˜๋ฏธ ์žˆ๋Š” ์ด๋ฆ„๊นŒ์ง€

 

 

์ฑ…์—์„œ ๊ธฐ์–ตํ•˜๊ณ  ์‹ถ์€ ๋‚ด์šฉ

์˜๋„๋ฅผ ๋ถ„๋ช…ํžˆ ๋ฐํ˜€๋ผ!

๋ณ€์ˆ˜์˜ ์กด์žฌ ์ด์œ , ์ˆ˜ํ–‰ ๊ธฐ๋Šฅ, ์‚ฌ์šฉ ๋ฐฉ๋ฒ•์„ ๋ณ€์ˆ˜ ์ด๋ฆ„์„ ํ†ตํ•ด ์•Œ ์ˆ˜ ์žˆ์–ด์•ผ ํ•จ

//์˜ฌ๋ฐ”๋ฅธ ์˜ˆ์‹œ
int elapsedTimeInDays;

 

๊ทธ๋ฆ‡๋œ ์ •๋ณด๋ฅผ ํ”ผํ•˜๋ผ!

๋„๋ฆฌ ์“ฐ์ด๋Š” ์˜๋ฏธ๊ฐ€ ์žˆ๋Š” ๋‹จ์–ด๋ฅผ ๋‹ค๋ฅธ ์˜๋ฏธ๋กœ ์‚ฌ์šฉํ•˜๋ฉด ์•ˆ ๋จ

์—ฌ๋Ÿฌ ๊ณ„์ •์„ ๊ทธ๋ฃน์œผ๋กœ ๋ฌถ์„ ๋•Œ : accountList (X), accountGroup (O)

 

์„œ๋กœ ํก์‚ฌํ•œ ์ด๋ฆ„์„ ์‚ฌ์šฉํ•˜๋ฉด ์•ˆ ๋จ

 

 

์˜๋ฏธ ์žˆ๊ฒŒ ๊ตฌ๋ถ„ํ•ด๋ผ!

//์˜๋ฏธ ๊ตฌ๋ถ„์ด ์ •ํ™•ํžˆ ์•ˆ๋จ
getActiveAccount();
getActiveAccounts();
getActiveAccountInfo();

 

 

๋ฐœ์Œํ•˜๊ธฐ ์‰ฌ์šด ์ด๋ฆ„์„ ์‚ฌ์šฉํ•˜๋ผ!

 

 

๊ฒ€์ƒ‰ํ•˜๊ธฐ ์‰ฌ์šด ์ด๋ฆ„์„ ์‚ฌ์šฉํ•˜๋ผ!

 

์ธ์ฝ”๋”ฉ์„ ํ”ผํ•˜๋ผ!

๋ณ€์ˆ˜ ์ด๋ฆ„์— ํƒ€์ž…์„ ์ธ์ฝ”๋”ฉํ•  ํ•„์š” ์—†๋‹ค

//์ž˜๋ชป๋œ ์˜ˆ์‹œ
PhoneNumber phoneString;

 

๋ฉค๋ฒ„ ๋ณ€์ˆ˜์— m_์ด๋ผ๋Š” ์ ‘๋‘์–ด๋ฅผ ๋ถ™์ผ ํ•„์š”๊ฐ€ ์—†๋‹ค.

 

์ธํ„ฐํŽ˜์ด์Šค ํด๋ž˜์Šค์™€ ๊ตฌํ˜„ ํด๋ž˜์Šค์˜ ๊ฒฝ์šฐ ์ธ์ฝ”๋”ฉ์ด ํ•„์š”ํ•˜๋‹ค.

์ €์ž๋Š” ์ฃผ๋กœ ๊ตฌํ˜„ ํด๋ž˜์Šค ์ด๋ฆ„ ๋’ค์— Imp๋ฅผ ๋„ฃ๋Š”๋‹ค. ex) ShapeFactoryImp

 

 

์ž์‹ ์˜ ๊ธฐ์–ต๋ ฅ์„ ์ž๋ž‘ํ•˜์ง€ ๋งˆ๋ผ

๋ฒ”์œ„๊ฐ€ ์ž‘๊ณ  ๋‹ค๋ฅธ ์ด๋ฆ„๊ณผ ์ถฉ๋Œํ•˜์ง€ ์•Š๋Š”, ๋ฃจํ”„์—์„œ ์‚ฌ์šฉํ•˜๋Š” i, j, k์™€ ๊ฐ™์€ ๊ฒฝ์šฐ๋ฅผ ์ œ์™ธํ•˜๊ณ  ํ•œ ๊ธ€์ž ๋ณ€์ˆ˜๋Š” ์˜ณ์ง€ ์•Š๋‹ค.

 

ํด๋ž˜์Šค ์ด๋ฆ„

ํด๋ž˜์Šค ์ด๋ฆ„๊ณผ ๊ฐ์ฒด ์ด๋ฆ„์€ ๋ช…์‚ฌ๋‚˜ ๋ช…์‚ฌ๊ตฌ๊ฐ€ ์ ํ•ฉ (๋™์‚ฌ ์‚ฌ์šฉ X)

์ข‹์€ ์˜ˆ) Customer, WikiPage

๋‚˜์œ ์˜ˆ) Manager, Data

 

๋ฉ”์„œ๋“œ ์ด๋ฆ„

๋ฉ”์„œ๋“œ ์ด๋ฆ„์€ ๋™์‚ฌ๋‚˜ ๋™์‚ฌ๊ตฌ๊ฐ€ ์ ํ•ฉ (๋™์‚ฌ + ๋ช…์‚ฌ)

์ ‘๊ทผ์ž, ๋ณ€๊ฒฝ์ž, ์กฐ๊ฑด์ž๋Š” ๊ฐ’ ์•ž์— get, set, is๋ฅผ ๋ถ™์ž„

 

๊ธฐ๋ฐœํ•œ ์ด๋ฆ„์€ ํ”ผํ•˜๋ผ

 

ํ•œ ๊ฐœ๋…์— ํ•œ ๋‹จ์–ด๋ฅผ ์‚ฌ์šฉํ•˜๋ผ

fetch, retrieve, get ์ค‘ ํ•˜๋‚˜๋งŒ ์„ ํƒ

controller, manager, driver ์ค‘ ํ•˜๋‚˜๋งŒ ์„ ํƒ

 

 

๋ง์žฅ๋‚œ์„ ํ•˜์ง€ ๋งˆ๋ผ

ํ•œ ๋‹จ์–ด๋ฅผ ๋‘ ๊ฐ€์ง€ ๋ชฉ์ ์œผ๋กœ ์‚ฌ์šฉํ•˜์ง€ ๋งˆ๋ผ

1. ๊ธฐ์กด ๊ฐ’์„ ๋”ํ•˜๋Š” ๊ฒฝ์šฐ 2. ์ง‘ํ•ฉ์— ๊ฐ’ ํ•˜๋‚˜๋ฅผ ์ถ”๊ฐ€ํ•˜๋Š” ๊ฒฝ์šฐ

์„œ๋กœ ๋‹ค๋ฅธ 2๊ฐ€์ง€ ๋ชฉ์ ์ด ์žˆ์„ ๋•Œ, add ํ•œ ๋‹จ์–ด๋ฅผ ์‚ฌ์šฉํ•˜์ง€ ๋ง๊ณ 

1๋ฒˆ์˜ ๋ชฉ์ ์—๋Š” add๋ฅผ ์‚ฌ์šฉ, 2๋ฒˆ์˜ ๋ชฉ์ ์—๋Š” append๋ฅผ ์‚ฌ์šฉ

 

 

ํ•ด๋ฒ• ์˜์—ญ์—์„œ ๊ฐ€์ ธ์˜จ ์ด๋ฆ„์„ ์‚ฌ์šฉํ•˜๋ผ

์ „์‚ฐ ์šฉ์–ด, ์•Œ๊ณ ๋ฆฌ์ฆ˜ ์ด๋ฆ„, ํŒจํ„ด ์ด๋ฆ„, ์ˆ˜ํ•™ ์šฉ์–ด ๋“ฑ์„ ์‚ฌ์šฉํ•ด๋„ ๊ดœ์ฐฎ๋‹ค.

 

 

๋ฌธ์ œ ์˜์—ญ์—์„œ ๊ฐ€์ ธ์˜จ ์ด๋ฆ„์„ ์‚ฌ์šฉํ•˜๋ผ

์ฑ…์—๋Š” ๊ตฌ์ฒด์ ์ธ ์˜ˆ์‹œ๊ฐ€ ์—†์ง€๋งŒ, ๋งŒ์•ฝ ์€ํ–‰ ํŒŒ์‚ฐ ๊ด€๋ จ ์ฝ”๋“œ๋ฅผ ์ž‘์„ฑํ•˜๊ณ  ์žˆ๋‹ค๋ฉด bankruptcy์™€ ๊ฐ™์€ ๋‹จ์–ด๋ฅผ ์‚ฌ์šฉํ•ด๋„ ๋œ๋‹ค๋Š” ๋œป ๊ฐ™๋‹ค.

 

์˜๋ฏธ ์žˆ๋Š” ๋งฅ๋ฝ์„ ์ถ”๊ฐ€ํ•˜๋ผ

firstName, lastName, street ๋“ฑ์˜ ์ฃผ์†Œ๋ฅผ ๋‚˜ํƒ€๋‚ด๋Š” ๋ณ€์ˆ˜๊ฐ€ ์žˆ๋‹ค๋ฉด ์˜๋ฏธ ์žˆ๋Š” ๋งฅ๋ฝ์ธ 'addr'๋ฅผ ์ ‘๋‘์–ด๋กœ ์ถ”๊ฐ€ํ•œ๋‹ค.addrFirstName, addrLastName, addrStreet

 

 

๋ถˆํ•„์š”ํ•œ ๋งฅ๋ฝ์„ ์—†์• ๋ผ

accountAddress์™€ customAddress๋Š” Address ํด๋ž˜์Šค ์ธ์Šคํ„ด์Šค๋กœ๋Š” ์ข‹์€ ์˜ˆ์‹œ

ํด๋ž˜์Šค ์ด๋ฆ„์œผ๋กœ๋Š” ์ข‹์ง€ ์•Š์€ ์˜ˆ์‹œ (ํด๋ž˜์Šค ์ด๋ฆ„์€ accountAddress ๋ณด๋‹จ Address๊ฐ€ ๋” ์ข‹๋‹ค)

 

์˜ค๋Š˜ ์ฝ์€ ์†Œ๊ฐ

๋ณ€์ˆ˜ ์ด๋ฆ„์„ ์ง€์„ ๋•Œ ์ด๋ ‡๊ฒŒ ๊ณ ๋ คํ•ด์•ผ ํ•  ์‚ฌํ•ญ์ด ๋งŽ๋‹ค๋‹ˆ... ๋†€๋ผ์› ๋‹ค...

๊ธฐ์กด ํ”„๋กœ์ ํŠธ์˜ ๋ณ€์ˆ˜ ์ด๋ฆ„์€ ํ‹ˆ๋‚ ๋•Œ ๋งˆ๋‹ค ๋ฐ”๊ฟ”์ค˜์•ผ๊ฒ ๋‹ค.

 

 

๊ถ๊ธˆํ•˜๊ฑฐ๋‚˜ ์ž˜ ์ดํ•ด๋˜์ง€ ์•Š๋Š” ๋‚ด์šฉ

์—†์Œ.

728x90
์ €์ž‘์žํ‘œ์‹œ ๋น„์˜๋ฆฌ (์ƒˆ์ฐฝ์—ด๋ฆผ)
  • TIL (Today I Learned)
  • ์˜ค๋Š˜ ์ฝ์€ ๋ฒ”์œ„
  • ์ฑ…์—์„œ ๊ธฐ์–ตํ•˜๊ณ  ์‹ถ์€ ๋‚ด์šฉ
  • ์˜๋„๋ฅผ ๋ถ„๋ช…ํžˆ ๋ฐํ˜€๋ผ!
  • ๊ทธ๋ฆ‡๋œ ์ •๋ณด๋ฅผ ํ”ผํ•˜๋ผ!
  • ์˜๋ฏธ ์žˆ๊ฒŒ ๊ตฌ๋ถ„ํ•ด๋ผ!
  • ๋ฐœ์Œํ•˜๊ธฐ ์‰ฌ์šด ์ด๋ฆ„์„ ์‚ฌ์šฉํ•˜๋ผ!
  • ๊ฒ€์ƒ‰ํ•˜๊ธฐ ์‰ฌ์šด ์ด๋ฆ„์„ ์‚ฌ์šฉํ•˜๋ผ!
  • ์ธ์ฝ”๋”ฉ์„ ํ”ผํ•˜๋ผ!
  • ์ž์‹ ์˜ ๊ธฐ์–ต๋ ฅ์„ ์ž๋ž‘ํ•˜์ง€ ๋งˆ๋ผ
  • ํด๋ž˜์Šค ์ด๋ฆ„
  • ๋ฉ”์„œ๋“œ ์ด๋ฆ„
  • ๊ธฐ๋ฐœํ•œ ์ด๋ฆ„์€ ํ”ผํ•˜๋ผ
  • ํ•œ ๊ฐœ๋…์— ํ•œ ๋‹จ์–ด๋ฅผ ์‚ฌ์šฉํ•˜๋ผ
  • ๋ง์žฅ๋‚œ์„ ํ•˜์ง€ ๋งˆ๋ผ
  • ํ•ด๋ฒ• ์˜์—ญ์—์„œ ๊ฐ€์ ธ์˜จ ์ด๋ฆ„์„ ์‚ฌ์šฉํ•˜๋ผ
  • ๋ฌธ์ œ ์˜์—ญ์—์„œ ๊ฐ€์ ธ์˜จ ์ด๋ฆ„์„ ์‚ฌ์šฉํ•˜๋ผ
  • ์˜๋ฏธ ์žˆ๋Š” ๋งฅ๋ฝ์„ ์ถ”๊ฐ€ํ•˜๋ผ
  • ๋ถˆํ•„์š”ํ•œ ๋งฅ๋ฝ์„ ์—†์• ๋ผ
  • ์˜ค๋Š˜ ์ฝ์€ ์†Œ๊ฐ
  • ๊ถ๊ธˆํ•˜๊ฑฐ๋‚˜ ์ž˜ ์ดํ•ด๋˜์ง€ ์•Š๋Š” ๋‚ด์šฉ
'๐ŸšดTIL/Clean Code' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€
  • [TIL/Clean Code] Assignment #05
  • [TIL/Clean Code] Mission: ๋‚˜์˜ ์ตœ์•  ๋ถํ‹ธ
  • [TIL/Clean Code] Assignment #02
  • [TIL/Clean Code] Assignment #01
hugDog
hugDog
์•ˆ๋“œ๋กœ์ด๋“œ ๊ณต๋ถ€ ์ค‘์ธ ํ•™์ƒ์ž…๋‹ˆ๋‹ค!

ํ‹ฐ์Šคํ† ๋ฆฌํˆด๋ฐ”

๊ฐœ์ธ์ •๋ณด

  • ํ‹ฐ์Šคํ† ๋ฆฌ ํ™ˆ
  • ํฌ๋Ÿผ
  • ๋กœ๊ทธ์ธ

๋‹จ์ถ•ํ‚ค

๋‚ด ๋ธ”๋กœ๊ทธ

๋‚ด ๋ธ”๋กœ๊ทธ - ๊ด€๋ฆฌ์ž ํ™ˆ ์ „ํ™˜
Q
Q
์ƒˆ ๊ธ€ ์“ฐ๊ธฐ
W
W

๋ธ”๋กœ๊ทธ ๊ฒŒ์‹œ๊ธ€

๊ธ€ ์ˆ˜์ • (๊ถŒํ•œ ์žˆ๋Š” ๊ฒฝ์šฐ)
E
E
๋Œ“๊ธ€ ์˜์—ญ์œผ๋กœ ์ด๋™
C
C

๋ชจ๋“  ์˜์—ญ

์ด ํŽ˜์ด์ง€์˜ URL ๋ณต์‚ฌ
S
S
๋งจ ์œ„๋กœ ์ด๋™
T
T
ํ‹ฐ์Šคํ† ๋ฆฌ ํ™ˆ ์ด๋™
H
H
๋‹จ์ถ•ํ‚ค ์•ˆ๋‚ด
Shift + /
โ‡ง + /

* ๋‹จ์ถ•ํ‚ค๋Š” ํ•œ๊ธ€/์˜๋ฌธ ๋Œ€์†Œ๋ฌธ์ž๋กœ ์ด์šฉ ๊ฐ€๋Šฅํ•˜๋ฉฐ, ํ‹ฐ์Šคํ† ๋ฆฌ ๊ธฐ๋ณธ ๋„๋ฉ”์ธ์—์„œ๋งŒ ๋™์ž‘ํ•ฉ๋‹ˆ๋‹ค.