티스토리 뷰


2017-12-15 ToDay To Do Lis & TIL

  1. VendingMachine step3 진행

  2. TDD 개발방식우선 기능설계부터해야한다. 사용자의 입력값이나 출력값을 어떻게 해야하는게 중요한것 보다 큰 그림부터 봐야한다. 어떻게 로직이 돌아가는지 그 로직에 필요한 것들은 무엇인지?

ex)로또

1. 로또번호 생성
2. 일치하는지 판단
3. 수동구매 / 자동구매
4. 로또가 n장 처리
5. 수익률 계산

그렇다면 어떤것 부터 먼저 해야할까?

 프로그래밍에서 할수있는 작은것부터 시작해서 성공하면 심적안정감과 성취감을 맛본다. 작지만 빠르게 만들어서 재미를 느끼고 에너지를 만드는게 중요하다. 
  • 절차지향적 사고와 객체지향적 사고....

  • 메소드 분리할땐 인덴트를 1뎁스 이내에 그리고 else를 안쓴다.(읽기좋은 코드를 만드는게 더 중요하다. 메소드를 많이 분리해서 생기는 하드웨어 요구는 그게더 낫다 왜냐하면, 하드웨어를 사는것보다 내몸값이 더 중요하기때문.)

  • 리팩토링을 어디를 해야할까? 정량적인 기준, 나만의 기준을 만들어야한다. 그걸 계속 반복해야한다. 그리고 나서 객체지향 책을 읽으면 많은 깨달음이 온다.

    메서드 인자가 3개이상이면 리팩토링 대상if else가 있다면 리팩토링 대상인덴트가 2개이상이면 리팩토링 대상

  • 메서드안에 들어가는 인자들은 새로운 클래스로 묶여서(구조체)만들 수 있는 후보가 된다.

  • 데이터를 가지고 있는 구조체, 클래스한테 일을 하게 만들어야한다.

  • 글쓰기와 똑같다. 프로그래밍은... 계속연습해야한다. 계속

  • 이중 for가 있다는 것은 집합 개념을 도입해라.

  • 직관적인 코드가 좋은 코드.

  • 찜찜한 코드가 나왔을때 계속 고민해보고 안되면 마스터한테 물어본다.(나쁜냄새)

  • 객체를 만든다음 메소드들이 어디에 있는게 좋을지 고민한다.

객체 지향적인 사고를 하는 프로그래머..


Comments