일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
- xenserver app&desk
- rocky
- 오픈스택
- 쿠버네티스
- 구축
- 서버 베이스 컴퓨팅
- server base computing
- IaaS
- jenkins
- OOP
- 로키
- centos7
- eslint
- serverless
- 젠킨스
- fargate
- openstack
- AWS
- sagemaker
- 설치
- 프로젝트
- 가상 데스크탑 환경
- 머신러닝
- eks
- app&desk
- kubernetes
- microservices
- 마이크로서비스
- no-param-reassign
- 객체지향
- Today
- Total
목록객체지향 (3)
IT
Smell Code 기전달된 매개변수에 동적으로 프로퍼티를 추가하고 해당 변수를 다른 함수의 매개변수로 다시 전달하는 경우 AirBnb Eslint를 사용하는 경우 no-param-reassign 에러가 발생한다. 객체 지향 프로그래밍 관점에서의 문제점 객체 지향 프로그래밍에서는 함수의 정의를 명확하고 하나의 책임만 담당하도록 설계하여 코드 변경의 목적을 제한하는 것을 권장한다. 아래 예시처럼 함수는 매개변수를 포함해서 정의된다. 함수의 정의 예시 ObjectA.save(arg1)와 같이 객체의 메소드로서의 함수 의미 메소드 의미 : ObjectA 가 arg1를 save 한다. 메소드 호출 시 메시지 : ObjectA 가 arg1를 save 하도록 요청한다. parse(arg1)와 같이 1급객체로서의 함..
Smell Code 함수의 매개변수로 보내진 객체의 프로퍼티를 해당 함수에서 재할당하는 경우 AirBnb Eslint를 사용하는 경우 no-param-reassign 에러가 발생한다. 객체 지향 프로그래밍 관점에서의 문제점 Javascript의 경우 Class 선언없이 Object가 생성되는 레거시 코드가 많기 때문에 객체의 프로퍼티에 setter/getter에 준하는 메소드 없이 직접적으로 할당하는 경우가 많은데 이 경우 객체 지향 프로그래밍 측면에서 문제가 발생한다. 객체지향 프로그래밍에서는 객체의 정보를 캡슐화하여 객체의 정보 변경을 내부에서 하도록 책임을 부여하고 외부에서 해당 객체의 정보를 변경하는 것을 제한하도록 설계하여 중복을 방지하고 Side Effect 를 최소화하는 코드 작성을 권장한다..
2014.02.16 지식in 작성글 이전 배경 개발 기간이 수년씩 걸리는 시대의 소프트웨어 개발 방법론들에 의해 개발된 소프트웨어들은 대부분 유지보수에 어려움을 겪고 있었어요. 설계상 모든 코드들이 톱니바퀴처럼 맞물려 있기 때문에 코드의 일부분을 고치려면 설계의 전체적인 부분을 바꾸어야 하는 경우가 생기기 때문이죠. 이러한 문제점은 복잡한 대형 시스템에서 더욱 크게 나타났으며 이는 때때로 시스템의 신뢰성을 낮추는 결과를 나타냈어요. 따라서 개발자들은 시스템의 신뢰성과 변화에 대한 유연성을 높이고 부수적으로 개발 속도도 빠르게 하기 위해 프로그램의 재사용성을 높여야겠다는 생각을 했고 그래서 나온 개발 방법론 중 하나가 객체 지향 프로그래밍(OOP : Object-Oriented Programming) 이에..