Anda di halaman 1dari 2

Kata01: Preços de Supermercados

Este kata surgiu de algumas discussões que tivemos nas reuniões do DFW Practioners. O
domínio do problema é algo aparentemente simples: preços de mercadorias nos
supermercados.

Algumas coisas nos supermercados têm preços simples: essa lata de feijão custa US $ 0,65.
Outras coisas têm preços mais complexos. Por exemplo:

• três por um dólar (então qual é o preço se eu comprar 4, ou 5?)


• US $ 1,99 / libra (então o que custa 4 onças?)
• compre dois, ganhe um (o terceiro item tem um preço?)

Este kata não envolve codificação. O exercício consiste em experimentar vários modelos para
representar dinheiro e preços que sejam flexíveis o suficiente para lidar com esses (e outros)
esquemas de preços e, ao mesmo tempo, geralmente utilizáveis (no checkout, para
gerenciamento de estoque, entrada de pedidos e assim em). Gastar tempo considerando
questões como:

• existe dinheiro fracionário?


• quando (se alguma vez) ocorrer o arredondamento?
• Como você mantém uma trilha de auditoria das decisões de precificação (e você
precisa)?
• são custos e preços a mesma classe de coisa?
• se uma prateleira de 100 latas for precificada usando “compre dois, leve uma grátis”,
como você avalia o estoque?

Este é um kata ideal para o banho, mas tenha cuidado. Alguns dos problemas são mais sutis
do que aparecem pela primeira vez. Eu sugiro que pode levar algumas semanas de chuveiros
para esgotar as principais alternativas.

Objetivo
O objetivo deste kata é praticar um estilo mais flexível de modelagem experimental. Procure
o maior número possível de maneiras diferentes de lidar com os problemas. Considere os
vários tradeoffs de cada um. Quais técnicas são as melhores para explorar esses modelos?
Para gravá-los? Como você pode validar um modelo é razoável?

O que é um código Kata?


Como um grupo, os desenvolvedores de software não praticam o suficiente. A maior parte do
nosso aprendizado acontece no trabalho, o que significa que a maioria dos nossos erros são
cometidos lá também. Outras profissões criativas praticam: artistas carregam um bloco de
notas, músicos tocam peças técnicas, poetas constantemente reescrevem trabalhos. No karatê,
onde o objetivo é aprender a treinar ou lutar, a maior parte do tempo de um aluno é gasto
aprendendo e refinando movimentos básicos. Os mais formais desses exercícios são
chamados de kata.

Para ajudar os desenvolvedores a obter os mesmos benefícios da prática, estamos montando


uma série de códigos kata: exercícios artificiais simples que nos permitem experimentar e
aprender sem a pressão de um ambiente de produção. Nossas sugestões para fazer o kata são:

• encontre um lugar e uma hora em que você não será interrompido


• concentre-se nos elementos essenciais do kata
• lembre-se de procurar feedback para cada decisão importante
• se ajudar, mantenha um diário do seu progresso
• ter grupos de discussão com outros desenvolvedores, mas tente completar o kata
primeiro
Não há respostas certas ou erradas nesses katas: o benefício vem do processo, não do
resultado.

Anda mungkin juga menyukai