2010-06-05 3 views
1

많은 프로그래밍 및 아키텍처 패턴이 있습니다. 패턴을 사용하면 추종자를 진정으로 멋진 개발자로 느낄 수 있으므로 코드 청소기, 재사용 가능, 유지 보수 가능, 더 테스트 가능 & (마침내)이 가능합니다.재사용 가능성, 테스트 가능성, 코드 복잡성 감소 및 상영 능력 프로그래밍 중요성

이러한 고려 사항을 어떻게 평가합니까? 패턴을 적용하기로 결정했을 때 가장 호소력이있는 것은 무엇입니까?

코드 재사용 가능성 (특히 MVP, MVC 패턴)이 중요한지 궁금합니다. 예를 들어 DAL 라이브러리는 종종 프로젝트 (재사용 가능)간에 공유되지만 컨트롤러/뷰 (인터페이스를 통해 추상화)가 얼마나 자주 재사용됩니까?

답변

0

코드 복잡성 감소가 높습니다. 일을 단순하게 유지하면 프로젝트를 더 잘 유지하고 기능을 추가/변경하는 것이 더 빠릅니다.

재사용 가능성은 도구가 있지만 용도에 따라 다르지만 모든 곳에서 사용할 수있는 것은 아닙니다. 일반적으로 3 개 이상의 장소에서 똑같은 용도의 명확한 기록을 보여주는 구성 요소를 재사용 할 수 있도록 리팩터링합니다. 그렇지 않으면 한 장소 또는 두 곳에서 특수한 행동이 필요하게 될 위험이 있으며 유사한 구조를 공유하는 두 개의 전문화 된 구성 요소로 구성 요소를 분리하게됩니다. 그러나 함께 보관하면 이해하기 어려울 것입니다.

테스트 가능성은 개인적으로 많은 에너지를 투입하지 않습니다.하지만 코드 복잡성 감소로 인해 많은 경우에 파생됩니다. 종속성이 많지 않고 복잡한 코드 경로가 없으면 테스트를 중단 할 위험이 줄어 듭니다. 또는 수행하기가 더 어렵게 만들 수 있습니다.

과시력에 관해서는 ... 음 ... 고객은 내 코드가 "멋지다"는 관점이 아니라 앱에서 얼마나 잘 수행하는지에 관심이 있습니다. 'Nuff said

3

당신이 당신의 목록에서 가장 중요한 하나를 놓친 것 같아요. 일관성있게 구조화 된 코드 (재사용 가능한 코드로 쉽게 얻을 수 있음)는 훨씬 쉽게 유지 관리됩니다.

재사용의 경우 다음과 같은 경우가 많습니다. 일반적으로 웹 페이지를 만들어 일부 레코드를 저장/업데이트합니다. 몇 달 후 - 우리는 이것을 써드 파티 용 서비스로 드러 낼 필요가 있습니다. 코드가 잘 구성되어 있다면 새로운 프론트 엔드를 추가하기 때문에 쉽고 위험이 적습니다.

+0

감사합니다. –

1

대부분의 사람들은 특정 상황에서 디자인 문제를 해결하는 방법을 배우기 위해 패턴을 사용하기를 바랍니다. 프로젝트에 대한 이해 관계자의 필요에 따라 언급 한 비 기능적 요구 사항은 모두 중요 할 수 있습니다. MVC 등에서는 프로젝트간에 재사용 할 수있는 것이 아니라 자주 불가능하거나 좋은 아이디어입니다. MVC에서 얻는 이점은 해당 아키텍처를 사용하는 프로젝트에서 중요해야합니다. 뷰와 모델에서 독립적으로 세부 사항을 변경할 수 있으며 다른 모델의 컨트롤러로 뷰를 재사용 할 수 있으므로 컨트롤러와 뷰에 영향을주지 않고 지속성 세부 사항을 변경할 수 있어야합니다. 이 모든 것은 한 프로젝트를 개발할 때 매우 중요합니다.

1

많은 책에서 정의 된 "코드 재사용 가능성"은 다소 허구 다. 읽기 쉬운 것에 더 집중하십시오 - 유지하기 쉽습니다. "재사용 성"을 염두에 두지 마십시오. 먼저 테스트 가능성에 대해 생각하고 무엇인가를 재사용하기 시작하면 더 좋을 것입니다. 프로젝트를 전달하고, 테스트하고, 코드를 다시 작성하고, 리팩토링하고, 반복하지 않고, 프로젝트간에 다시 사용할 수있는 시작 구성 요소를 빌드하는 것이 중요하지 않은지 확인하는 것이 중요합니다. 재사용되는 것은 무엇이든 자연스러운 과정, 즉 발견과 같아야합니다. 반복을 보게되므로 특정 상황에서 재사용 할 수있는 무언가를 만들 수 있습니다.