0412-Test_and_TDD
코딜리티 05-03
for문에 for가 또 있으면 안 되는데
범위 안에서 A,C,G,T
1 | function solution(S, P, Q) { |
문제
S를 돌면서 찾으면 S가 엄청 커지면 쓸데 없이 다 돌 가능성 !!!
P나 Q가 찍는 위치가 여러번 중복되는 부분이 있을 수 있고
해결 방안?
- S를 돌면서 결과 값이 P나 Q length만큼 차면 빠져나오도록 한다.
- P, Q 의 최소 최대값으로 이뤄진 S를 하나 가지고 와서 조작 한다
- 오늘 한 시간은 투자했으니 내일 한 번 다시 해보겠다. =ㅂ= 사고가 좀 빨랐으면 좋겠다. 겨우 이정도 생각에 한 시간을 망했어요
todo 다른 사람 코드 답습
팀코드 설계 도식화
interface 필요한 변수들 부터 정의 , 그리고 각각의 타입 주고 받는 부분 지정 다음에 짤 때는 이렇게 미리 설계를 한 번 해봐야겠다.
웹 자판기 떄 고 !
설계데로 모듈들 분리를 잘 해놓았다 !
루미 타임도 객체화 한 점
return {}[key] 이렇게 쓸 수도 있구나 이렇게 해서 메소드로 부르면 적역 객체를 안 쓰고 매칭하는 곳에서만 쓰게 할 수 있겠다 신기
todo 피드백
immutable은 완전히 객체랑 분리가 되는 방향으로 + this바인딩이 제거되는 형식으로 되어야 한다.
전체 큰 객체도 mutable이므로 이 부분을 update또 해주어야 하는 것도 필요한가?
객체 지향으로 짠 방식을 다 걷어내는 방식이여서 조금 나중에 연습해 보는 것이 좋을 것 같다.
… 최근에 pr피드백을 너무 못 받았다 ㅡㅜ 클로즈 클로즈 클로즈
모듈 exports
1 | const equal = (a,b)=> { |
TestCode 작성하면서
issue분명 targetValue, expectedValue같게 출력되는데 …
심지어 그냥 값을 넣었는데도 _= false가 나서 error가 난다 무슨 차이일지 조금 더 살펴봐야겠다. splitItem에서만 이런 결과가 발생하는데 …디버깅 도구 블락 지정 및 미리 디버깅하기 전에 그 전 함수 에서 값이 제대로 넘어갔다. 아닌가 위주로 판단해서 체크할 부분 위주로만 체크하는 습관 !!!
ArrayParser를 한 번 쭈욱 리팩토링을 해봤는데 클래스랑 모듈들을 나눠서 써보려고 했다.
클래스는 extends쓰면서 너무 많이 만든 것은 아닌가 싶기도 좀 하게 identityObject를 만들어놓긴 했는데
클래스 이름으로 다 구분되니까 편하긴 했다.1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22 if(str[i]===leftBracket | str[i]===leftCurly) close = close << 1;
if(str[i]===rightBracket | str[i]===rightCurly) close = close >> 1;
객체처리를 통해서 이프문 줄인 부분
if(brackets[item]){
arrayClose = brackets[item](arrayClose)
objClose = brackets[item](objClose)
}
그리고 자잘하게 처리 안 해줘도 되거나 좀 더 깔끔하게 할 수 있는 부분들을 정리했는데 큰 로직으로는 변하는 부분이 없다.
splitItem이 크다고 하셔서 나눠보려고 했는데 어떻게 더 잘게 나눌 수 있을지 잘 감이 안 잡힌다. 내일 조금 더 고민해보다 물어봐야겠다.
이슈 이 부분 어떡하지 'ㅁ';;; 이프지옥
const makeIdObjByType = str => {
if(isNormalString(str)) return new IdObjString(str)
if(!isNaN(str)) return new IdObjNumber(str)
if(isBooleanString(str)) return new IdObjBoolean(str)
if(isNullString(str)) return new IdObjNull(str)
if(isUndefinedString(str)) return new IdObjUndefiend(str)
if(_isArrayClosed(str)) return ArrayParser(str)
if(_isObjClosed(str)) return ObjParser(str)
}
Jest
TDD ?
jest랑 TDD도 공부하도록 !
비둘기+ this , context, 클로저도 쌓여 있는데 …:D