본문 바로가기
코딩 교육 기관/코드스쿼드 백엔드 레벨2

2018.10.04 (목)

by 성건희 2018. 10. 25.
반응형

코드스쿼드 8일차



짝 프로그래밍


주제

좌표계산기 기능 구현

입력 값을 받았을 때 두 점 사이의 거리를 구해라!

조건

객체지향적으로 프로그래밍 한다.

테스트 코드 작성 후 프로덕션 코드를 작성한다.




매번 이론 수업을 진행하던 Pobi 가 뜬금없는 짝 프로그래밍 제안을 해서 살짝 당황했지만, 
나는 동료 인 Peter 와 짝 프로그래밍을 진행하였다.
진행 방법은 간단하다. 둘 중 한명이 코딩을 시작하고 옆사람은 훈수를 두는 방식으로, 10분이 지나면 그 즉시 키보드에서 손을 떼고 교대를 해야한다. 
우리는 가위바위보를 통해 순서를 정했고, 내가 이겨서 Peter 가 먼저 시작을 하게 되었다. 
입력값은 "(1,2)-(3,4)" 로 입력받는다는 가정하에 진행하였고, 작은 단위부터 하나씩 쪼개면서 들어가자고 제안하였다.
그래서 다음과 같이 설계하였다.

  • "-" 값을 기준으로 나누는 메서드 
  • "( )" 제거하는 메서드
  • "( )" 안에 " , "를 기준으로 나누는 메서드
  • 두 점 사이의 거리를 계산하는 메서드
Peter가 열심히 코딩을 하다가 어느덧 교체시간이 다가와 내 차례가 됬는데, 시간제한이 있고 옆에서 지켜본다는 생각에 잘하던것도 실수를 하는 경우가 많이 생겼다. 결국 그렇게 돌아가면서 열심히 코딩해서 정상적으로 값이 출력되기는 했는데, 코드는 영 엉망이었다. 
급한 마음에 변수명도 막 짓고, 메서드 분리도 제대로 되지 않았고, Test 코드도 대충 진행한 느낌이 들었다. 짝 프로그래밍을 끝내고 Pobi가 라이브코딩으로 설명을 해주는데 "어떻게 저렇게 짤까" 하는 생각이 바로 들면서 내 실력의 형편 없음에 좌절을 맛보게 되었다.
역시 프로는 프로다. 

Pobi는 라이브 코딩을 진행하면서 중요한 부분을 설명해 주었다.

모든 로직은 합쳐 놓으면 복잡하다. 그러므로 메서드가 한가지 일만 하도록 쪼개는 연습을 해라!

Q. 왜 Point(x,y) 처럼 생성자를 x,y를 동시에 받을까? x따로 y따로 받으면 안되나?
A. x와 y는 두 점 사이의 거리를 구하는 과정에서 항상 같이 사용되므로 같이 받는것이 좋다.

메서드
클래스 메서드는 밑에, 중요한 로직은 위에 두는것이 일반적이다.

팩토리메서드
생성자를 쓸 때 사용자는 이것이 무슨 역할인지 모를 경우가 많은데, 이것을 사용하면 메서드가 어떤 역할을 하는지 알려주는게 가능해진다.
여기서, 팩토리 메서드를 사용할 때 생성자는 private으로 하여 팩토리 메서드를 쓰도록 유도 해야한다.

ex) 
Public static Point of(int x , int y){

Return new Point(x,y);

}

 

Public static Point ofCommaSeparator(String text){

String [] values = text.split(",");

Return new Point(Integer.parseInt(value[0]), Integer.parseInt(value[1]) ;

}





면담


오늘은 한달에 한번씩 신청할 수 있는 면담일이라 16:00 에는 Pobi와 1:1 면담을 진행하였다.
Pobi와 많은 대화를 나누었는데, 아래는 면담 과정에서 Pobi가 강조한 내용이다.

  • 학벌, 자격증은 아무 쓸모가 없다.

  • 중요한건 실력이다.

  • 여러 일을 병행해서 집중을 분산시키지말고 하나의 일에 집중해라.

  • 다른 사람의 말을 듣지 말고 자신을 믿고 자신의 길을 묵묵히 걸어가라.

  • SI기업은 절대 가지 마라, 삼성전자도 피해라. (개발과 전혀 관련 없는 일을 맡기는 일이 많음)

  • 서비스 기업을 가라. (우아한 형제들, 네이버, 카카오 )


사실, 여기오기 전 까지만해도 4년제는 나와야된다, 정보처리기사 자격증은 꼭 있어야한다. 라는 소리를 많이 들어서 실제로도 그렇게 준비하면서 왔었는데, Pobi는 내가 생각했던것과 전혀 다른 소리를 해서 정말 충격을 받았다. 학벌은 옛날이나 중요했지, 요즘 세대는 학벌은 중요하지않고, 오로지 실력으로 승부를 보는 세계로 바뀌는 추세라 학벌은 이제 의미가 없다는 것이다. 생각해보면 나는 꼭 해야하는 공부를 통한 성장에 집중하지 않고, 4년제는 나와야 한다, 자격증은 있어야 한다 라는 다른 사람들의 말에 휘둘리며, 안전한 길을 찾다보니 정작 해야 할 공부는 뒷전으로 미루고 학벌을 신경쓰게 된 것 같다는 생각이 들었다. 
오늘 Pobi의 면담을 통해 정말 많은것을 느끼게 되었고, 학벌에만 연연하는 내 자신에 부끄러움을 느끼고 반성하게 되었다. 원래는 이번주 일요일에 정보처리기사 실기 시험을 보는 날이라 월요일부터 지금까지 시간을 날리면서 기사공부만 했었는데, 그냥 과감하게 포기하기로 결정했다. 내가 진정으로 가야 할 길은 스펙이 아니라, 더 나은 실력이라는 것을 느꼈기에.








반응형

'코딩 교육 기관 > 코드스쿼드 백엔드 레벨2' 카테고리의 다른 글

2018.10.11 (목)  (0) 2018.11.11
2018.10.08 (월)  (0) 2018.11.11
2018.10.01 (월)  (2) 2018.10.25
2018.09.24 (월)  (1) 2018.10.22
2018.09.20 (목)  (0) 2018.10.22

댓글