210120_JAVA 기술책과 코드리뷰

정재현·2021년 1월 20일
0

TIL

목록 보기
50/80

오늘은 원래 챕터14를 진행하려했지만
두번째 책인 자바 코딩 기술향상 책을 진행하려한다.
그 이유는, 오늘 업무에서 베테랑 팀원분과 둘이 코드 리뷰를 했는데.
진행하면서 길을 잃었기때문이다.
내가 작성한 코드인데 말이다.
결국 중간에 어버버어버버...

물론! 처음 진행하는 것 치고 내 나름대로 잘했다.
잘 돌아가지 않는 머리를 쥐어싸매며 너무 복잡하다고 생각한 것도 아득바득 풀어내긴했다.
며칠동안 업무에 진전이 없다고 생각해 짜증나고 절망하고 힘들었지만 결국엔 해낸 포인트들이 있었다.

그렇게 산을 넘고 또 산을 넘고 다음엔 더 큰 산을 넘고 나서
그 뒤에 보이는 것들이 있었다.

꼭 이 코드가 여기에 있어야 했을까?
얘는 전역이 아니라 지역으로 내려야 더 괜찮을 것 같은데?
나 혼자 진행한 프로젝트의 일부분이지만 누군가 나중에 유지보수를 하게 될 수도 있는데 이렇게 짜면 안되지 않나?
좀 더 최적화하고 깔끔하게 할 방법이 있을것같은데?

물론 아직도 앞에 산이 있다.
이러한 (생각 + 실천)으로 인해 나는 한걸음 더 성장할 수 있다.
생각만으로는 안된다. 실천이 있어야하지.

그래서 내가 구매한 이 책에서 많은 경험들을 캐내고 싶다.

책의 앞부분을 읽다가 이 책을 효과적으로 진행하려면 이 테스트를 할줄알아야 가장 효과적이라고 한다.
그 이름은 'FizzBuzz'

1부터 100까지의 숫자를 콘솔에 출력하는 프로그램을 자바로 작성하시오.
단 3의 배수마다 숫자 대신 'Fizz'를 출력하고
5의 배수마다 'Buzz'를 출력하시오.
3과 5의 공배수이면 'FizzBuzz'를 출력하시오.

<테스트를 좀 더 흥미롭게 하기위해서 조건을 좀 더 붙인단다.>

++ FizzBuzz 알고리즘을 FizzBuzz라는 인터페이스를 구현하는 ConsoleBasedFizzBuzz 라는 
클래스로 구현해야합니다. 이 인터페이스는 출력할 마지막 숫자를 인수로 받는 메서드를 제공합니다.
별개의 Main 클래스에 들어 있는 main 메서드에서는 ConsoleBasedFizzBuzz 구현과 함께 FizzBuzz 인터페이스를 사용해야 합니다.

라고 하고 간단한 뼈대를 보여줬다.
그 뼈대에 내용을 채우는 건데. 시간제한은 15분이다.
그 뼈대는 이거.

내가 코딩을 하는데 걸린시간은..?

8분 57초 하하..
그 전에 끝냈다고 생각하고 실행해보니 원하는대로 안나와서 좀 더 수정하고 끝냈을 때의 시간이다.
소스코드는
github: https://github.com/jeong-jaehyeon/JavaProject/blob/javaExercise/src/FizzBuzzExercise.java
아쉽게도 정답은 책에 나와 있지 않아서 (무슨 링크를 주는데 거기에는 완벽한 답이 나와있진않다)
출력 결과물 보고 만족해야했다.
(나중에 봤을 때 틀린 코드라고 생각할 수 도 있겠다;;)

아무튼 15분내로 컷했고 이 책으로 더 자바 기술을 향상시킬 수 있으면 좋겠다.
문제는 2개의 책의 진행을 어떻게 배분을 해야할지 고민이다.

오늘의 코멘트: 생각에 그치지 말 것.

profile
"돈받고 일하면 프로다"

0개의 댓글