코이팅

[프리온보딩 백엔드 챌린지 Week 2-1] 실무 함수형 프로그래밍 1 본문

대외활동/원티드 프리온보딩 백엔드 챌린지

[프리온보딩 백엔드 챌린지 Week 2-1] 실무 함수형 프로그래밍 1

코이팅 2023. 1. 21. 16:17
728x90
반응형

📝 Week 2-1

절차지향 (Procedural Programming)

출처 : https://velog.io/@jihogitgit/도대체-객체지향프로그래밍이란-뭘까

🟡 정의

순차적인 처리가 중요한 프로그래밍 방식입니다. 물이 위에서 아래로 흐르는 것처럼 순차적인 처리가 중요시 되며 프로그램 전체가 유기적으로 연결되도록 만드는 프로그래밍 기법입니다. 

🟡 특징

  • 대표적인 예로 C언어가 있습니다.
  • 컴퓨터와 작업 방식이 비슷합니다.
  • 데이터 위주의 thinking을 합니다.
  • 객체지향 언어를 사용하는 것에 비해 더 빨리 처리 되어 시간적으로 유리합니다.

🟡 장단점

[장점]

- 컴퓨터의 처리구조와 유사하여 실행속도가 빠릅니다.

 

[단점]
- 유지보수가 어렵습니다.
- 실행 순서가 정해져있으므로 코드의 순서가 바뀌면 동일한 결과를 보장하기 어렵습니다.
- 디버깅이 어렵습니다.

 

리팩토링 (Refactoring)

출처 : https://nesoy.github.io/articles/2018-05/Refactoring

🟡 정의

프트웨어의 겉보기 동작은 그대로 유지한 채, 여러 가지 리팩터링 기법을 적용해서 소프트웨어를 재구성하는 것입니다. 즉, 외부 동작을 바꾸지 않으면서 내부 구조를 개선하는 방법입니다. 코드가 작성된 후에 디자인을 개선하는 작업입니다. 모든 것을 미리 생각하기보다는 개발을 하면서 지속적으로 좋은 디자인을 찾습니다.

 

🟡 리팩토링하는 이유

  • 리팩토링이 소프트웨어의 모든 문제점을 해결해주는 만병통치약은 아닙니다.
  • 코드를 건강한 상태로 유지하는 데 도와줍니다.
  • 리팩토링을 하면 소프트웨어 설계가 좋아집니다.
  • 리팩토링하면 소프트웨어를 이해하기 쉬워집니다.
  • 리팩토링하면 버그를 쉽게 찾을 수 있습니다.
  • 리팩토링하면 프로그래밍 속도를 높일 수 있습니다.
728x90
반응형
Comments