객체지향 4

함수형 프로그래밍의 특징과 장단점

✅ 함수형 프로그래밍이란? 함수형 프로그래밍은 하나의 프로그래밍 패러다임으로 정의되는 코딩 접근 방식이며, 자료처리를 수학적 함수의 계산으로 취급하고 상태와 가변 데이터를 멀리하는 프로그래밍 패러다임을 의미한다. ✅ 함수형 프로그래밍의 특징 🔎 1. 순수함수 (Pure function) 동일한 입력에는 항상 같은 값을 반환해야 하는 함수 함수의 실행이 프로그램의 실행에 영향을 미치지 않아야 하는 함수 함수 내부에서 인자의 값을 변경하거나 프로그램 상태를 변경하는 Side Effect가 없는 것 num = 1 def add(a): return a + num 위와 같은 예제에서는 add라는 함수 안에서 전역으로 선언된 변수인 num을 참조하기 때문에 순수함수라고 볼 수 없다. // 순수함수 def add(a..

Computer Science 2023.02.08

TDD(Test Driven Development)란?

✅ TDD란 무엇인가? TDD란 Test Driven Development의 약자로 '테스트 주도 개발'이라고 한다. 테스트 주도 개발(TDD)은 소프트웨어 개발 방법론 중의 하나로, 선 개발 후 테스트 방식이 아닌 선 테스트 후 개발 방식의 프로그래밍 방법을 말한다. 다시 말해 먼저 자동화된 테스트 코드를 작성한 후 테스트를 통과하기 위한 코드를 개발하는 방식의 개발 방식을 말한다. ✅ TDD를 이용한 개발방법 TDD는 기본적으로 위 3단계의 반복으로 진행하며 점진적으로 개발이 진행된다. Red 단계에서는 실패하는 테스트 코드를 먼저 작성한다. Green 단계에서는 테스트 코드를 성공시키기 위한 실제 코드를 작성한다. Blue 단계에서는 중복 코드 제거, 일반화 등의 리팩토링을 수행한다. 중요한 것은 ..

Computer Science 2023.01.31

[python] 클린코드와 코드 리팩토링

✅ 클린 코드란? 클린 코드에 대해 유일하고 엄격한 정의는 존재하지 않는다. 하나의 통용되는 말이 있다면 바로 가독성이 높은 코드가 될 것이다. 즉, 클린 코드는 다른 개발자가 코드를 읽고 유지 관리를 할 수 있는지 여부에 달려 있다고 볼 수 있다. 클린코드로 코드를 작성하려면 다음과 같이 구현해야 한다. 네이밍이 잘 되어야 함(무슨 역할인지 명시) 변수, 함수, 클래스, 파일 이름 모두 해당 이름은 항상 "무엇을 하는지" 명확하게 드러내야 한다. 이름은 역할과 본질을 나타내 준다. 코딩할 때 가장 어려운 파트 오류가 없어야 함 중복이 없어야 함 중복 코드가 있다면 수정할 때 2번 이상 수정해야 함. 3번 이상 중복 코드가 등장하면, 어떻게든 한 곳으로 모아줘야 한다. 의존성을 최대한 줄여야 함 클래스 ..

Computer Science 2023.01.25

SOLID란? 객체지향 설계 5원칙(Python)

✅ SOLID란? SOLID란 로버트 마틴이 2000년대 초에 명명한 객체 지향 프로그래밍의 다섯 가지 기본 원칙을 마이클 페더스가 원칙의 앞 글자를 따서 다시 SOLID라는 이름으로 소개했다. SOLID의 5대 원칙은 다음과 같다. 단일 책임 원칙(Single responsibility principle) : SRP 개방 폐쇄 원칙(Open/closed principle) : OCP 리스코프 치환 원칙(Liskov substitution principle) : LSP 인터페이스 분리 원칙(Interface segregation principle) : ISP 의존관계 역전 원칙(Dependency inversion principle) : DIP ✅ 1.SRP (Single Responsibility) 단..

Computer Science 2023.01.11
728x90