Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Dojo: KataRomanNumerals
Ruby
branch: master

Fetching latest commit…

Cannot retrieve the latest commit at this time

Failed to load latest commit information.
java/src
ruby
README

README

Dojo realizado no dia 17/11/2010.
Problema: Conversão automática do formato decimal para romano.


== DESCRIÇÃO DO PROBLEMA:

Dado um número inteiro positivo, determinar sua representação em numerais Romanos.
Os algarismos dos numerais romanos são as seguintes:

  I = 1
  V = 5
  X = 10
  L = 50
  C = 100
  D = 500
  M = 1000

Exemplos:

  o) 1990 = MCMXC
  o) 2008 = MMVIII
  o) 99 = XCIX

Mais informações:

http://codingdojo.org/cgi-bin/wiki.pl?KataRomanNumerals
http://pt.wikipedia.org/wiki/Numera%C3%A7%C3%A3o_romana
http://en.wikipedia.org/wiki/Roman_numerals


== REGRAS BÁSICAS DO DOJO:

* Desenvolvimento guiado por testes: Antes de fazer qualquer implementação, deve ser escrito um teste, que ao passar indica que a implementação está correta.

* "Passos de bebê": Se um teste não está passando, você deve escrever o código mais simples possível que faça o teste passar. Quando for escrever um novo teste para o mesmo método, escreva um teste que teste só um pouquinho a mais da funcionalidade desejada.

* Pair programming: A programação é feita em duplas. Cada dupla tem um piloto e um co-piloto. Ambos pensam em como passar no teste atual, mas só o piloto digita. Cada par tem por volta de 5 a 10 minutos no seu turno. Quando esse tempo acaba:
	o) O piloto volta para a platéia
	o) O co-piloto assume o lugar do piloto
	o) Um novo co-piloto vem da platéia

* Todos devem entender: O piloto e o co-piloto devem sempre explicar em voz alta o que estão tentando fazer para solucionar o problema. Qualquer um na platéia pode pedir explicações se não entender algum raciocínio.

* Três fases: Um Coding Dojo sempre está em alguma dessas 3 fases, dependendo do estado dos testes:
	o) Vermelha: Pelo menos um teste não está passando. A dupla da vez deve se concentrar em fazer o teste passar. A platéia não deve falar nessa fase, para não atrapalhar piloto e co-piloto.
	o) Verde: Os testes acabaram de ser rodados e todos estão passando. Essa é a hora de quem está na platéia dar sugestões para melhorar o código.
	o) Cinza: O código foi modificado de acordo com as sugestões, mas a bateria de testes ainda não foi rodada. Deve-se evitar fazer grandes modificações no código nessa fase.

Something went wrong with that request. Please try again.