[우테코 5기 프론트엔드] 프리코스 4주차 5일차

셔노·2022년 12월 20일
0

우아한테크코스

목록 보기
9/13

4주차 미션이 종료되고 시간이 많이 흐르고 회고록을 뒤늦게나마 작성합니다. 학교에서 진행하는 프로젝트 제출 기간과 우테코를 준비하는 시간이 많이 겹쳐 우아한테크코스 일정이 끝난 뒤 작성된 회고록입니다.

프리코스 4주차 5일째 🤓


📝 input 에서 하는 거 모델에서 하게 하기

  • inputView에서 따로 하는 작업이 많아 해당 작업들을 Bridge ControllerBridgeGame가 할 수 있도록 옮기는 작업이 필요할 것 같아 보여 콜백함수를 만들어서 inputView 로 넘겨서 처리하려고 한다.

  • inputView 에서 하던 일을 좀 더 작은 단위로 쪼갤 수 있을 것 같다.

🎮 BridgeGame 객체 쓸모있게 바꾸기

  • bridgeMap 클래스를 bridgeGame으로 옮긴 후 Model 역할을 할수 있게 변경하기.

  • InputViewOutputViewBridgeGame에서 선언되지 않도록 하기.

  • 생각한대로 코딩하면 BridgeGame이 많은 역할을 맡게 될 것 같다. 결국 합친 BridgeGame도 역할 분배가 필요 할 것 같다.

🔖 네이밍 규칙

📦 패키지명 (Package Name)

  • domain (영역, 범위, 소유지) - 단위로 표현할 수 있고 원자성을 띄는 자바빈 클래스, Enum 클래스 등이 위치한다. 다른 곳에서 VO라고 하는 것을 본적이 있는데 필자는 domain이란 이름이 더 마음에 든다.

  • dao (Data Access Object) - 데이터액세스 계층과 관련된 클래스와 인터페이스들이 자리한다. DB과 관련된 작업을 한다면 사용할 수 있는 패키지명이다.

  • service (근무, 봉사, 편익, 이용…) - 역시 웹에서 사용되는 계층 중 하나이며 대개 dao를 조합하고 트랜잭션의 경계가 설정되는 구간이기도 하다.

  • core (속, 중심부, 핵심…) - 어플리케이션의 핵심적인 역할을 수행하는 클래스와 인터페이스들이 자리하는 구간이다.

  • task (일, 과업, 과제…) - 단어와는 가장 딴판으로 사용되는 용어 중 하나이다. 자바에서 스레드와 관련된, java.lang.Runnable 클래스의 활동을 지원하는 클래스들이 위치한다.

  • access (접근, 진입로, 증가…) - DB 뿐만이 아니라 다른 리소스의 자원을 불러들이고 이를 자바에서 사용가능한 상태로 가공해주는 클래스들이 위치한다.

  • support (지지, 지원…) - 가장 잘 이해하고 사용해야 할 패키지명이며 어느 어플리케이션이든 기본적으로 하나씩은 포함되곤 한다. 스프링 프레임워크에서는 대개 구현체를 지원하는 팩토리빈 클래스라던가 객체를 다른 클래스에서 요구하는 형태로 가공해주는 역할의 클래스들이나 부모 패키지의 인터페이스들이 구현된 클래스들이 위치해 있었다.

  • config (구성, 설정) - 다른 언어 또는 외부 자원을 자바의 형태로 파싱해주고 그 설정을 Builder와 같은 설정 구현체에 저장해주는 역할을 담당한다.

  • validation (확인) - 부모 패키지의 객체들을 검증하는 검사자 클래스들이 위치한다.

  • util (유용한, 쓸모 있는…) - 부모 패키지의 객채들에 대해 기본적인 CRUD(Create · Remove · Update · Delete)작업을 해주거나 컬렉션 프레임워크과 비슷한, 혹은 좀 더 복잡한 작업을 도와주는 도구 클래스들이 위치한다.

📚 메서드명 (Method Name)

📎접두어로의 사용

  • get… : 어떠한 리소스를 리턴하는 메서드

  • set… : 프로퍼티에 해당 리소스를 내장시키는 역할의 메서드

  • init… : 초기값이 필요하다면 초기값을 설정하고 내부에서 관련 validate를 실행하는 역할의 메서드

  • load… : 전달인자를 기준으로 어떠한 값을 불러와 내장시켜주거나 카운팅하는 역할의 메서드

  • is… : 불리언 메서드에서 사용되는 접두어이다. 용도는 get…과 같다.

  • has… : contains 메서드처럼 어떠한 값을 가지고 있는지 확인해준다. 다른 점이 있다면 contains는 좀 더 범위가 넓지만 has는 특정 값으로 범위가 한정되있다.

  • register… : 기본적으로 set과 동작하는 방식이 같지만 set은 자바빈 규약에 얽혀있기 때문에 복잡한 연산을 포함할 수 없다. 보다 지능적인 set이 요구될 때 register과 같은 접두어를 사용한다.

  • create… : register…는 보통 void 형태이지만 create는 전달인자를 통해 새로운 객체를 만든 뒤에 이 객체를 리턴해준다. 등록과 생성은 엄밀히 다르므로 create를 register처럼 써서는 안될 것이다.

  • to… : 많이 만들어두면 참 좋은 접두어 메서드이다. 해당 객체를 다른 형태의 객체로 변환해준다.

🪢 전치사로의 사용

  • A-By-B : B를 기준으로 A를 하겠다는 뜻
    ex) getUserByName(String name) : 이름값을 통해 유저를 불러옴

  • A-With-B : B와 함께 A를 하겠다는 뜻
    ex) registerWithGeneratedName(BeanDefinition beanDefinition) : beanDefinition으로 다른 메서드를 통해 GeneratedName 값을 불러와 함께 저장.
    접미사로의 사용

  • …With : 무엇과 함께 있는지, indexOf와 비슷한 성격의 접미사이다.

  • …s : 해당 객체가 복수의 객체를 반환하는지 단일 객체를 반환하는지 구분하는 것은 매우 중요하다. 복수형으로 표현해야 하는 메서드는 반드시 복수형으로 표현하여야 한다.

profile
초보개발자

0개의 댓글