-------- Forwarded Message --------
On 09/10/2019 09:09, miguel agustin
cardamone wrote:
priceBeforeTax
| com p p2 |
com := self
isBestSeller
ifTrue: [ price / 50
]
ifFalse: [ price /
100 ].
p := self
isBestSeller
ifTrue: [ price *
1.1 ]
ifFalse: [ price ].
p2 := p + com.
^ p2
Esto es equivalente a
priceBeforeTax
^self isBestSeller
ifTrue: [ price * 1.6 ]
ifFalse: [ price * 1.01 ]
y el otro, es
price
^self isBestSeller
ifTrue: [ price * ( 1.1 * 1.21 + 0.5 ) ]
ifFalse: [ price * 1.22 ]
Más que código repetido, es una forma de hacer las cuentas paso
por paso, que si operas con un poco de álgebra se resuelve más
corto.
Por supuesto, puede que me haya equivocado en alguna cuenta, lo
hice rápido y de memoria, Pero un par de tests pueden despejar
las dudas.
Ambos se pueden refactorizar, para dejar sólo el factor en dos
me'todos, y multiplicar price por self factor o por self
factorBeforeTax.
Saludos
--
signature
carlos e. ferro |
senior developer |
caesar systems
[hidden email]
--
--
To post to this group, send email to
[hidden email]
To unsubscribe from this group, send email to
[hidden email]
http://www.clubSmalltalk.org
---
Has recibido este mensaje porque estás suscrito al grupo "ClubSmalltalk" de Grupos de Google.
Para cancelar la suscripción a este grupo y dejar de recibir sus mensajes, envía un correo electrónico a
[hidden email].
Para ver esta conversación en el sitio web, visita
https://groups.google.com/d/msgid/clubsmalltalk/000007ce-2831-c166-d522-bcdba5d55da7%40gmail.com.