객체 지향 프로그래밍을 사용하는 것이 훨씬 깨끗하다고 클라이언트를 설득하려고하십니까?
프로그래밍 패러다임에 대해 더 많이 교육해야한다고 생각합니다. 객체 지향 프로그래밍 코드가 반드시 더 깨끗할 필요는 없으며, 실제로 적용 할 수있는 것은 아닙니다. 또한 좋은 객체 지향 코더는 절차 / 모듈 식을 사용하여 좋은 작업을 수행하는 방법을 알고 있습니다 (기능 및 선언적 패러다임을 사용하면 조금 어렵지만 읽기와 추론을 통해 좋은 프로그래머가 도착하기가 너무 어려워서는 안됩니다) -수용 가능한 FP / 선언 솔루션
절차 및 모듈 식 프로그래밍을 잘 이해하지 않고서도 객체 지향을 사용하는시기와 방법을 거의 이해할 수 없습니다. OO는 클래스와 상속 계층을 선언하는 것 이상의 의미가 있습니다.
아니면 그가 요구 한 것을 따르고 엉터리 코드를 주려고 하시겠습니까?
좋은 코드를 절차 적으로 작성할 수 없다면 객체 지향 방식으로 좋은 코드를 작성할 수 있을지 의심됩니다. 기간. 나는 여기서 판단하려고하지 않지만 이것은 주장되어야한다.
객체 지향은 절차 및 모듈 식 프로그래밍의 확장입니다. 객체 지향은 단순히 적절하게 사용될 때 캡슐화, 커플 링, 응집력 및 코드 재사용 / 확장 성 문제를 다루는 더 나은 메커니즘을 제공하는 도구를 제공합니다.
그러나 이러한 모든 문제는 OO 고유의 문제가 아닙니다. 그것들은 절차 적 / 모듈 식 코드 (그리고 그 문제에 대한 다른 패러다임)에 존재합니다. 이것은 본질적으로 패러다임에 무관 한 복잡성 문제의 유형입니다. OO 접착제없이 처리 할 수 없으면 처리 할 수 없을 것입니다.
=========
고객을 설득 할 것인지에 대한 원래의 질문으로 돌아갑니다. 따라 다릅니다. 포스터 Sean McMillan이 말했듯이, 고객이 단순히 일부 의제 (읽기, 사무실 정치)에 대한 개발 노력을 미세 관리하려고 시도하는 경우, 멀리 가십시오. 그러한 방해 행위를하는 사람들은 다른 사람을 비난하거나 특정 안건을 추진합니다. 당신은 그것에 참여하고 싶지 않습니다.
OTH에는 이러한 요구 사항에 대한 다른 이유가있을 수 있습니다. 많은 임베디드 상점은 옳고 그름에 관계없이 C ++로 수행 할 수있는 작업에 많은 제약을 두도록 선택합니다 (예 : 가상 방법, 예외 없음). 다른 경우에는 그렇게하는 데 유효한 기술적 이유가 있습니다.
따라서 클라이언트가 OO 코드를 피하려는 이유를 이해해야합니다. 그리고 정치적 의제가 없다고 생각할 수 있다면 (적색 플래그 없음), 전문적으로해야 할 일은 절차 상 / 모듈 식으로 코드를 작성하고 잘 수행하는 것입니다.
프로그래밍 패러다임과 무관하게 엉터리 코드를 전달할 이유는 없습니다. 하나의 패러다임으로 허용 가능한 코드를 생성 할 수없는 경우 일반적으로 허용 가능한 코드를 생성 할 수 없습니다.