소프트웨어 복잡성을 관리하는 데 OOP의 효과에 대한 연구가 있었습니까? [닫은]

OOP는 비 OOP 절차 적 프로그래밍과 달리 소프트웨어의 복잡성을 관리하는 효과적인 전략으로 간주되는 경우가 많습니다.

이 개념을 테스트하는 연구가 있습니까? OOP가 종종 대규모 프로젝트의 복잡성을 관리하는 데 도움이된다는 것이 입증 되었습니까?



답변

정량화 가능한 측정에 대한 연구는 없습니다. 다른 사람들이 귀하의 질문에 대한 의견에서 언급했듯이 실제로 달성하는 것은 불가능합니다. 그러나 그에 답하려는 철학적 인 논문이 있습니다.

이 주제에 대해 제가 가장 좋아하는 논문은 Ben Moseley & Peter Marks의 Out of the Tar Pit 입니다. 복잡한 시스템 설계에 대한 믿을만한 출처에서 매우 흥미로운 결과에 이르기까지 다양한 진술이 있습니다.

Tar Pit은 함수 프로그래밍이 실제로 제안하는 솔루션을 지원하기위한 최고의 패러다임이라고 결론 내 렸습니다. 내 경험상 복잡한 OOP 시스템은 시간이 지남에 따라 절차에 매우 가까워지고 절차는 OOP처럼 보이기 시작합니다 (구문 및 기타 속성은 없지만 실행 흐름은 상당히 유사 할 수 있음). 실제 차이점은 다른 패러다임 또는 OOP와 결합하여 제공됩니다. 현재 이러한 패러다임은 기능 프로그래밍으로, 일반 프로그래머가 일반 비즈니스 응용 프로그램에서 사용할 수있게되었습니다 (여전히 도착).


답변

네, 몇 가지 연구가있었습니다. 하나는 다음과 같습니다. http://www.csm.ornl.gov/~v8q/Homepage/Papers%20Old/spetep-%20printable.pdf

기본적으로 절차 적 코드 생산성과 OO 언어 생산성간에 측정 가능한 차이가 없다고 결론을 내립니다.하지만 사실 이러한 유형의 질문은 상황에 따라 달라지며 주어진 상황에서 수행해야 할 작업에 대한 연구는 없습니다 .