본문 바로가기

ETC9

[회고] SOLID 스터디 우테코를 시작하고 SOLID에 대한 스터디를 개최해 봤다. 스터디를 개최한 경위는 다음과 같다. 프리코스를 하면서 객체지향에 대해서 어느정도 공부를 했다고 느꼈지만, 막상 SOLID의 의미를 물어보니 대답하기가 참 난감했다. 분명 알고 있던건데 왜 대답을 못하는 걸까... 사실 답을 알고있다 설명할 수 없다면, 모르는 거다. 그렇다. 나는 모르기 때문에 답을 못한거다. 그래서 스터디를 만들고, 우테코 크루원들과 이야기를 나누어 보기로 마음을 먹었다. (웨지의 저 한마디가 스터디를 추진하는데 큰 도움을 줬다.) 스터디를 진행하는데 있어서, 기존의 스터디 방식처럼 누군가 주제를 공부해 오고, 단순 발표하는 진부한 형식의 스터디는 지양하고 싶었다. 우테코 슬랙의 질문 채널을 보면 여러 질문이 올라오고 그에 대.. 2021. 2. 15.
확장성은 어디까지 고려해야 할까? 우테코에서 자동차 경주 미션을 하며 소스에 대한 피드백을 많이 받았다. 그중에는 리뷰어님과 참 오랜 시간동안 의견을 나눈 부분도 있는데, 바로 확장성에 대한 부분이다. 기존에 나는 모든 부분에서 확장성을 고려하서 설계하고, 구현했다. 이번 자동차 경주 미션을 보자. 자동차 경주 미션에서 자동차의 움직임 조건은, 랜덤으로 숫자를 하나 생성하고 그 수가 4 상이면 전진, 아니면 stop인 요구사항을 가지고 있다. 그래서 나는 아래와 같이 코드를 작성했다. public interface MoveCondition { boolean isMovable(); } public class RandomMoveCondition implements MoveCondition { ... private final RandomUti.. 2021. 2. 10.
랜덤에 대한 테스트는 어떻게 이루어 져야 하는가? 테스트 코드를 작성하다 보면, 랜덤하게 발생하는 경우에 대하여 테스트를 진행할 경우가 생긴다. 이러한 상황에 봉착했을 때 우리는 어떻게 테스트 하는게 좋을까?? 우아한 테크 코스(이하 우테코)에서 1단계 미션을 진행하면서 랜덤을 테스트 할 경우가 생겼다 아래의 코드를 보자. public class Car { private static final int MAX_BOUND = 9; private static final int MOVABLE_THRESHOLD = 4; private final String name; private int position; public Car(String name, int position) { this.name = name; this.position = position; } pu.. 2021. 2. 8.
우아한 테크코스 3기 프리코스 후기 우아한 테크코스 프리코스 후기 프리코스를 마무리 하며... 우아한 테크 코스(이하 우테코)의 3주간의 프리코스가 마무리 되었다. 우아한 테크코스에 대해서는 이곳(https://woowacourse.github.io/)에서 찾아볼 수 있다 어려서부터 프로그래머가 되고 싶었고 그래서 컴퓨터 관련 전공을 선택했다. 컴퓨터를 공부하며 뭔가 새로운 것을 만드는 것에만 관심이 많았고, 그래서 나의 공부는 원하는 기능의 "구현" 에만 집중하고 있었다. 그렇게 졸업을 앞둔 현재 내가 개발이란걸 할 줄 아는건가? 하는 생각이 강하게 들었다. 원하는걸 만들어낼 수만 있으면 그게 개발인가?, 코드의 상태가 어떻든 기능만 하면 그게 개발인가? 하는 생각이 머릿속에서 계속해서 맴돌았다. 그러다가 우연히 인터넷을 돌아다니다가 ".. 2020. 12. 15.