2015-01-02 3 views
0

몇 가지 연습을 통해 Ruby를 배우고 있습니다. 나는 약간을 발견했다 http://codekata.com/ 첫번째 하나 (슈퍼마켓의 가격 매김)는 코드 운동이 아니다. 저자가 "실험적 모델링"이라고 부르는 것을 하는 방법을 모른다. 진행할 수있는 단서 나 도움을주십시오. 또는이 연습을 건너 뛰고 실제 코딩 연습을 수행 할 수도 있습니다. 콩이 캔은 $ 0.65 비용 : 슈퍼마켓에서루비 모델링하는 방법?

몇 가지 간단한 가격이 - 여기

는 카타에서 발췌 한 것입니다. 다른 것들은 가격이 더 복잡합니다. 예를 들어 :

three for a dollar (so what’s the price if I buy 4, or 5?) 
buy two, get one free (so does the third item have a price?) 

운동은 가격 체계를 다루는만큼 유연하고 비즈니스 프로세스에 의해 일반적으로 사용 가능한 각종 비용을 나타내는 모델과 가격으로 실험하는 것입니다.

- does fractional money exist? 
- when (if ever) does rounding take place? 
- how do you keep an audit trail of pricing decisions (and do you need to)? 
- are costs and prices the same class of thing? 
- if a shelf of 100 cans is priced using “buy two, get one free”, 
    how do you value the stock? 

목표 없음 코드 : 다음과 같은 문제를 고려하여 시간을 보내십시오! 이 kata의 목표는 느슨한 스타일의 실험 모델링을 연습하는 것입니다. 문제를 가능한 한 많이 다룰 수있는 방법을 찾으십시오. 각각의 다양한 절충을 고려하십시오. 어떤 기법이이 모델을 탐구하는데 가장 잘 사용됩니까? 그들을 녹음? 모델의 유효성을 어떻게 확인할 수 있습니까?

답변

1

저는 여러분이 프로그래밍하는 데이터 도메인에 대해 생각해 보도록 노력하고 있다고 생각합니다. 문제는 루비에서 실험적 모델링을 요구하는 것이 아니라 실험모델링을 묻는 것입니다. 사이트에서

운동은 돈이 (그리고 기타) 가격 체계를 처리 할만큼 유연 가격을 표현하기위한 다양한 모델 실험을하고, 같은 시간에 일반적으로 사용할 수 있습니다

이것은 코딩의 연습이 아니며 좋은 소프트웨어 디자인의 전제 조건 인 데이터에 대해 생각하면 의 연습 문제입니다. 모든 우아한 코드는 견고한 데이터 모델에 의존합니다. 그것이 운동이되는 이유입니다.

+0

감사합니다. Dan. 이 모델링을 어떻게 할 수 있는지 제안 해 주시겠습니까? 청사진을 만들고 어쩌면 유효성을 검사 할 수 있습니까? 이를 위해 UML 등을 사용해야합니까? –

+2

카타 (Kata)는 모델의 공식화에 대한 요구가 적고 몇 가지 가능한 모델을 브레인 스토밍 한 다음 강점과 약점을 비교하는 데 더 많은 것을 요구한다고 생각합니다. 솔직히 말해서, 그것을 공식적인 수준으로 가져 가면 카타르를 조금 넘는 것처럼 보입니다. –

+0

감사합니다. 나는 이것을 너무 형식화하려고하지 않는다. 이것이 숙제와 같다고 생각하고 어떤 종류의 거친 스케치를 준비해야했습니다. 그 거친 작업은 어떻게 생겼을까요? –

관련 문제