On Wed, 21 Dec 2016 12:05:32 +0100, Tudor Girba <tu...@tudorgirba.com>
wrote:
Hi,
I forgot to mention that another option I played with was to always use
a metric object, and never numbers. So, numberOfLinesOfCode would return
a MetricValue. I think the same idea is present in acqoncagua.
Yes in fact may be we should hold the value as raw data and create on
demande the metricValue.
to avoid to have millions on them.
Or a kind of flightweight
Cheers,
Doru
--
www.tudorgirba.com
"Every thing has its own flow"
On 21 Dec 2016, at 08:21, Tudor Girba <tu...@tudorgirba.com> wrote:
Hi Alex,
Following the design proposed by Stef, in your case you would use a
different collection.
Cheers,
Doru
On Dec 21, 2016, at 8:13 AM, Alexandre Bergel
<alexandre.ber...@me.com> wrote:
Hi Stef,
You are raising an interesting point to discuss. This MissingValue is
indeed better than having -1
Something to keep in mind: it may be that one would like to focus on
the missing value and not really the value.
Consider:
testCollect
| uarray collected |
uarray := UniformOrderedCollection new.
uarray add: 10.
uarray add: 20.
uarray add: (MissingValue discarding).
collected := uarray collect: [ :each | each ].
self assert: collected size equals: 2.
It could well be that I would like to be able to query over the
MissingValue.
Can something like possible: uarray collect: #isMissing
?
Cheers,
Alexandre
On Dec 20, 2016, at 10:15 PM, stepharong <stephar...@free.fr> wrote:
Hi dear great OO designers
Here is a little challenges for your brainy souls :)
In Moose when we compute metrics it may happen than a tool (often
external to pharo) does not compute a metrics
and when we request it in moose we check and often we return a not so
good -1.
I'm trying to brainstorm on a solution
- first may be the simplest way is to not invoke a metrics when it is
not computed. But it means that we should know it and that we should
have a registration mechanism. After all this is probably the best
solution.
- Second we were thinking to use exception but when we have multiple
entities missing one metrics.... I have serious doubts.
- Second I was thinking about having the following behavior
testCollect
| uarray collected |
uarray := UniformOrderedCollection new.
uarray add: 10.
uarray add: 20.
uarray add: (MissingValue discarding).
collected := uarray collect: [ :each | each ].
self assert: collected size equals: 2.
testDo
| res uarray |
uarray := UniformOrderedCollection new.
uarray add: 10.
uarray add: 20.
uarray add: (MissingValue discarding).
uarray add: 40.
res := 0.
uarray do: [ :each | res := res + each ].
self assert: res equals: 70.
testCollectDefaulting
| uarray collected |
uarray := UniformOrderedCollection new.
uarray add: 10.
uarray add: 20.
uarray add: (MissingValue default: 33).
collected := uarray collect: [ :each | each ].
self assert: collected size equals: 3.
self assert: collected third equals: 33
I basically started to implement
do: aBlock
"Refer to the comment in Collection|do:."
1 to: self size do:
[:index | (self at: index) toDo: aBlock on: self]
collect: aBlock
"Evaluate aBlock with each of the receiver's elements as the
argument.
Collect the resulting values into a collection like the receiver.
Answer
the new collection."
| newCollection |
newCollection := self species new.
self
do: [ :each | each toCollect: aBlock on: newCollection ].
^ newCollection
and
DiscardingValue >> toCollect: aBlock on: aCollection
"discard computation"
^ self
Object >> toCollect: aBlock on: aCollection
^ aCollection add: (aBlock value: self)
So I imagine that you see the design and I wanted to get your point
of view.
--
Using Opera a kind of bad mail client but far better than thunderbird
_______________________________________________
Moose-dev mailing list
moose-...@list.inf.unibe.ch
https://www.list.inf.unibe.ch/listinfo/moose-dev
--
_,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:
Alexandre Bergel http://www.bergel.eu
^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;.
_______________________________________________
Moose-dev mailing list
moose-...@list.inf.unibe.ch
https://www.list.inf.unibe.ch/listinfo/moose-dev
--
www.tudorgirba.com
www.feenk.com
"If you interrupt the barber while he is cutting your hair,
you will end up with a messy haircut."
--
Using Opera's mail client: http://www.opera.com/mail/