이런 경우도 따로 함수로 빼는게 좋을지 궁금합니다.
279
2 asked
안녕하세요. 강의 잘 보고 있는 개발자입니다.
이번에 웹사이트 유지보수하는 중 인데 문득 이 강의를 보다가 비슷한 경우가 발생해서 이러한 경우는 어떻게 하는게 좋을지 궁금해져서 글올립니다.
현재 웹사이트에서 '스타일 적용'이라는 버튼이 있는데 이걸 누르면 A 스타일이 적용되고 안 누르거나 해제버튼을 클릭 한 경우는 B스타일을 적용하는 상황을 고려하고 있습니다.
이러한 스타일 적용에 관련된 로직이 많아서 상태를 두는 변수 하나를 사용해서 다음과 같이 사용하고 있는데 여기 있는 내용 처럼 하나의 함수로 빼는게 좋을지, 아니면 다른 방법을 고려할 수 있는지 궁금합니다.
일단 제가 현재 사용했던 방법은 수도코드로 간단하게 쓰면 다음과 같습니다.
function getStyleByCurrentState(currentState) {
if (currentState === "change") {
return A style 객체
} else {
return B style 객체
}
}
적용 버튼에 clickApply() 가 연결
function clickApply() {
return getStyleByCurrentState("change");
}
해제 버튼에 clickRelease()가 연결
function clickRelease {
return getStyleByCurrentState();
}
일단 추후에 state가 1개정도 더 추가 될 수 있는 상황이고 getStyleByCurrentState는 꽤 많은곳에서 호출하고 있는 상황입니다.
Answer 1
0
스타일과 상태는 어떤 관계인가요? 둘이 왠지 같은 것 같은데 표현을 달리 한 것 같습니다. 스타일 하나로 통일을 하고 changeStyle()이나 Style 상속 구조를 만들어 보면 어떨까 싶습니다. 정답이 있는건 아니니까 한번 여러 시도를 해보시죠.
리팩토링 10. 함수를 명령으로 바꾸기 강의 부분에서 질문있습니다.
0
94
1
함수 추출하기 부분에서 의도와 구현에 대해 질문 있습니다.
0
202
1
레코드에 대해 질문 있습니다.
0
219
2
.github 토큰 등록하는 방법에 대한 질문
0
220
2
깃허브
0
202
1
홈 디렉토리 .github 파일 생성
0
456
1
리팩토링 22. 여러 함수를 변환 함수로 묶기 강의 내용과 소스 코드가 다른 부분 문의
0
554
1
필드를 감추는 것이 중요한 이유?
0
568
1
오타제보. CVS -> CSV
0
375
0
객체의 필드 몇개만 전달할 경우, 통째로 넘기기 vs 여러개로 넘기기
0
510
0
[오탈자제보] 아주 작은 오타
2
401
0
basePrice
0
294
1
4:04 단축키 궁금합니다.
0
435
1
rename 메뉴에 대한 사소한 질문
0
356
1
테스트 코드 예제
0
308
1
Exception 부분
0
338
1
리팩토링 강의 [ 일부 소스 파일 누락 ]
0
331
1
stream으로 변경 시 성능 문제
0
437
2
로컬 변수에 final
0
458
1
Area 밑줄 나온부분
0
404
1
클래스의 상속 vs 네임스페이스 vs nested 클래스
0
322
1
질문입니다
2
265
1
파라미터와 이들을 가진 클래스
0
237
1
해당 강의를 실행시 아래와 같은 에러가 발생합니다..!
0
598
2

