Upgrade to Pro — share decks privately, control downloads, hide ads and more …

보일러플레이트 코드가 진짜 나쁜 건가요?

보일러플레이트 코드가 진짜 나쁜 건가요?

2025 년 GDG Korea Android 행사인 Super.init (version=6)
"SOLID와 아키텍처" 워크샵에서 "보일러플레이트 코드"를 주제로 한 토의 자료입니다.

이가은

March 17, 2025
Tweet

Other Decks in Programming

Transcript

  1. DRY Don't repeat yourself The DRY principle is a software

    development concept aimed at reducing repetition of information “Don't Repeat Yourself의 약자로 정보의 반복을 줄이는 것을 목표로 하는 소프트웨어 개발의 원칙”
  2. WET Write Everything Twice The WET law is a software

    development concept aimed at intentionally duplicating code when necessary to enhance clarity, maintainability, and flexibility. “명확성, 유지보수성, 그리고 유연성을 향상시키기 위해 필요한 경우 의도적으로 코드를 중복 작성하는 것을 목표로 하는 소프트웨어 개발 원칙”
  3. DRY WET Write Everything Twice 비즈니스 or 개념적 반복 WET

    구조적 or 언어적 중복 중복되는 코드는 서로 다른 비즈니스 로직에서 같은 모습의 코드를 가지는 것이기 때문에 변경되어야 하는 이유가 서로 다릅니다.
  4. 나의 명함 다른 사람의 명함 김토끼 나이: 5살 연락처: [email protected]

    주소: 달나라 김토끼 나이: 5살 연락처: [email protected] 주소: 달나라
  5. 나의 명함 다른 사람의 명함 김토끼 팔로워 2 | 팔로우

    8 나이: 5살 연락처: [email protected] 주소: 달나라 김토끼 팔로워 2 | 팔로우 8 나이: 5살 연락처: [email protected] 주소: 달나라 팔로우
  6. 나의 명함 다른 사람의 명함 김토끼 팔로워 2 | 팔로우

    8 나이: 5살 비공개 연락처: [email protected] 공개 주소: 달나라 비공개 김토끼 팔로워 2 | 팔로우 8 연락처: [email protected] 팔로우
  7. 나 다른 사람 김토끼 팔로워 2 | 팔로우 8 나이:

    5살 비공개 연락처: [email protected] 공개 주소: 달나라 비공개 김토끼 팔로워 2 | 팔로우 8 연락처: [email protected] 팔로우 단체 토끼즈 팔로워 11 | 팔로우 5 rabbits_offi[email protected] 팔로우
  8. 404는 무엇을 의미할까요 네트워크 에러 핸들링 예시 - query param에

    해당하는 값이 없습니다. - 잘못된 주소로 요청했습니다. - 해당 주소에 값이 아직 등록되지 않았습니다. - 이 값에 접근할 권한이 없습니다.
  9. Null은 무엇을 의미할까요 네트워크 에러 핸들링 예시 - 값이 아직

    등록되지 않았습니다. - 기획의 변경으로 인해 불가피하게 생긴 값 - 값에 대한 접근 권한이 없습니다. - 개발자가 정의하지 못한 상태값
  10. UI 레이어? 도메인 레이어? 비밀번호 검증 로직 - 영어, 숫자,

    특수문자 모두가 들어가는 비밀번호를 입력해야 합니다. - 유효하지 않은 비밀번호를 입력하면, 유효하지 않은 사유를 UI에 띄웁니다.
  11. DRY WET DRY & WET 특징 - 코드 가독성 증가

    - 유지보수 용이 - 번거로운 수정 작업 - 유연한 코드 수정 가능 - 초기 설계 부담 감소 - 폭발적인 코드량 증가
  12. 선택 시 고려할 점 - 기획이 안정화 되었는가 - 도메인을

    충분히 이했는가 - 다른 기획 시나리오에서도 유연하게 대처할 수 있는가 - 변경했을 경우, 다른 로직에 얼마나 영향을 주는가 - 다른 파트와의 확실하고 명확한 소통이 필요한가 01