TIL 221128

강지훈·2022년 11월 27일
0

좋은 코드란 무엇일까?

-읽기 쉬운 코드
-중복이 없는 코드
-테스트가 용이한 코드 등등...

프로젝트 팀원 간의 그라운드 룰(Ground rule)
1. Naming
2. Directory

코드 간의 의존성을 고민하자.
합의된 규칙으로 일관성있게 작성하자
적절하게 확장 가능하도록 설계하자
어쩔 수 없는 코드는 주석과 함께 격리하자.

객체 지향 프로그래밍 Objecte Oriented Programming
인간 중심적 프로그래밍 패러다임
OOP로 코드를 작성하면 이미 작성한 코드에 대한 재사용성이 높다

객체 지향적 설계 원칙
단일 책임 원칙: 클래스는 단 하나의 책임을 가져야 하며 클래스를 변경하는 이유는 단 하나의 이유이어야 한다.
개방-폐쇄 원칙: 확장에는 열려 있어야 하고 변경에는 닫혀 있어야 한다.
리스코프 치환 원칙: 상위 타입의 객체를 하위 타입의 객체로 치환해도 상위 타입을 사용하는 프로그램은 정상적으로 동작해야 한다.
인터페이스 분리원칙: 인터페이스는 그 인터페이스를 사용하는 클라이언트를 기준으로 분리해야 한다.
의존 역전 원칙: 고수준 모듈은 저수준 모듈의 구현에 의존해선 안된다.

RESTful API => 자원을 정의하고 자원에 대한 주소를 지정하는 방법 패턴
REST 6 가지 원칙
Uniform interface
stateless
Caching
Client-Server
Hierearchical system
Code on demand

  1. 리소소와 행위를 명시적이고 직관적으로 분리
    리소스는 URI로 표현되는데 리소스가 가리키는 것은 명사로 표현
    행위는 HTTP Method로 표현하고 GET POST PUT PATCH DELETE을 분명한 목적으로 사용한다
  2. Message는 Header와 Body를 명확하게 분리해서 사용한다.
  3. API 버전을 관리한다
  4. 서버와 클라이언트가 같은 방식을 사용해서 요청하도록 한다.

장점: Open API를 제공하기 쉽다, 멀티플랫폼 지원 및 연동이 용이하다,원하는 타입으로 데이터를 주고 받을 수 있다, 기존 웹 인프라(HTTP)를 그대로 사용할 수 있다.

단점: 사용할수 있는 메소드가 4가지 밖에 없다, 분산환경에는 부적합하다,HTTP 통신 모델에 대해서만 지원한다.

TDD란 무엇인가?
Test-Driven-Development는 매우 짧은 개발 사이클의 반복에 의존하는 소프트웨어 개발 프로세스이다.

profile
never stop

0개의 댓글