Community

개발자 99% 커뮤니티에서 수다 떨어요!

← Go back
assignment9. 연습문제 풀어보기
#pragmatic
2년 전
788
1

💡 연습문제 1. 파일에서 데이터를 읽는 클래스를 만들어야 한다. 한 번에 한 줄씩 읽어들이고, 각 줄은 여러 개의 필드로 쪼개야 한다. 의사 코드로 표현한 다음 두 클래스 중 어떤 것이 더 직교적인가?

class Split1{

constructor(fileName) #읽기 위해 파일을 열기

def readNextLine() #다음 줄로 이동

def getField(n) #현재 줄의 n번째 필드를 변환

}

class Split2 {

constructor(line) #한 줄을 쪼개기

def getField(n) #현재 줄의 n번째 필드를 반환

}

✅ 풀이 과정

  • 우선 직교성이란 ? 독립적이고, 관련 없는 것들 간에 서로 영향이 없도록 하는 것

  • Split2가 더 직교적인 코드라고 생각한다. 다른 메소드에 피해를 덜 주는것 같다.

✅ 참고 링크



💡 책에 있는 해답

우리 생각에는 Split2 클래스가 더 직교성이 좋다.

이 클래스는 자기가 해야 할 일인 줄 쪼개기에만 집중하고, 어디서 그 줄이 오는지와 같은 세부 사항은 무시한다. 그러면 코드가 개발하기 더 쉬워질 뿐만 아니라 더 유연해진다.

Split2는 파일에서 읽어온 문자열을 쪼갤 수도 있고, 다른 루틴이 만든 문자열을 쪼갤 수도 있고, 환경 변수로 넘어온 문자열을 쪼갤 수도 있다.

1 comment