2009-10-08 2 views
1

나는 Aloha on Rails에서 "You're Doing it Wrong"이라는 세션의 미리보기를보고있었습니다. 짧은 미리보기에서 모델을 열거 형으로 사용하는 것이 나쁜 이유는 무엇입니까?

, 그는 (나는 그가 enumerate_by 같은 플러그인을 의미 가정) 열거로 액티브 모델을 사용하여 언급하고있다. 이것은 나에게 합리적인 생각처럼 보입니다. 문제는 무엇입니까? 추가 객체가 필요로하는 오버 헤드일까요?

감사

답변

1

그는 약간의 과장 및 관용적 인 표현을했습니다. 그의 요점은 건전하다.

정적 데이터를 데이터베이스에 저장하는 데 소요되는 개발 오버 헤드가 있습니다. 모든 마이그레이션이 모든 환경 (db : test : clone을 포함하여)에서 실행되는지 확인해야합니다. 데이터를 코드로 작업 할 때마다 (예 : irb에서도)로드 순서 문제가 발생할 수 있습니다. 즉, 무료는 아니며 불필요한 개발 및 지원 비용이 발생하기를 원하지 않습니다.

그러나 이점은 유용 할 수 있습니다. 데이터는 다른 언어로 작성된 코드간에 공유되기를 원할 수 있습니다. 코드가 복잡 할 수 있으며 모든 배포 전에 비용이 많이 드는 테스트 사이클이 필요합니다. 당신은 데이터베이스 제약 조건 데이터를 만들 수 있습니다; 열거 형과 연관시키려는 광범위하거나 구조화 된 메타 데이터가있을 수 있습니다. 등등.

이러한 조건은 일반적이지 않습니다. 대부분의 열거 형의 경우, 명명 된 상수, 해시 또는 기호를 사용하는 규칙만으로 충분합니다.

0

그는 그 정적 열거에 대해 그 문제를 가지고 말했듯이. 명명 된 상수에 저장할 수있는 일부 정적 데이터에 대해 데이터베이스 쿼리를 작성해야하는 이유는 무엇입니까?

또한 일부 개발자는 향후 코드를 작성합니다. 미래의 모든 요구 사항이 확장되는 경우 수정을 위해 설계를 닫고 확장을 위해 열린 상태로 유지하면서 요구 사항을 코딩합니다. 그렇지 않으면 고객이 실제로 요청하지 않은 것에 시간과 노력, 돈을 투자하게 될 것입니다. 확장 가능한 설계가 한 가지이며 향후 요구 사항을위한 설계는 다른 것입니다. 전자는 필요에 따라 나중에 확장 할 수 있지만 나중에 나중에 필요한 것은 아닙니다.

관련 문제