Re: [Pharo-dev] Ugly smell: really long symbols/selectors

2017-08-19 Thread Sean P. DeNigris
Denis Kudriashov wrote
> Which is actually shows that tests as methods are not really good idea.
> Tests are supposed to be documentation but with classic SUnit we have only
> two ways (classes and methods) to decompose them which is definitely not
> enough for docs.

He he +100. I remember us talking about this a long time ago. I have a
vision for something like rspec, but with a domain UI and then have the
classes/methods/whatever storage as an implementation detail.



-
Cheers,
Sean
--
View this message in context: 
http://forum.world.st/Ugly-smell-really-long-symbols-selectors-tp4961544p4962532.html
Sent from the Pharo Smalltalk Developers mailing list archive at Nabble.com.



Re: [Pharo-dev] Ugly smell: really long symbols/selectors

2017-08-16 Thread Richard Sargent
Guillermo Polito wrote
> but wait, I've just shown that more than 2/3s of them are not test
> selectors...

Well, quit teasing us. :-) Show us the list (longest to shortest order).

I agree with you that it is a code smell and you are right to be suspicious.
I'm inclined to say that if the method name is a novella, the method is
probably doing too much or the method name is trying to explain too much
about the method's internals.



> On Wed, Aug 16, 2017 at 2:21 PM, Denis Kudriashov <

> dionisiydk@

> >
> wrote:
> 
>> Which is actually shows that tests as methods are not really good idea.
>> Tests are supposed to be documentation but with classic SUnit we have
>> only
>> two ways (classes and methods) to decompose them which is definitely not
>> enough for docs.
>> But ignore it. I am just thinking aloud :)
>>
>> 2017-08-16 13:47 GMT+02:00 Stephane Ducasse <

> stepharo.self@

> >:
>>
>>> I often use long selectors for tests :)
>>>
>>>
>>> On Wed, Aug 16, 2017 at 9:49 AM, Guillermo Polito <
>>> 

> guillermopolito@

>> wrote:
>>>
 (ByteSymbol allInstances select: [ :e | e size > 50 ]) size
 "638"
 (ByteSymbol allInstances select: [ :e | e size > 50 and: [ e
 beginsWith:
 'test' ] ]) size
 "200"

 Still 438 non test selectors. Some of them are class creation methods
 (#subclass:instanceVariables:...)

 I'm just saying this is a smell, wanted to share some of my catarsis
 :).

 Guille

 On Wed, Aug 16, 2017 at 9:35 AM, Nicolas Cellier <
 

> nicolas.cellier.aka.nice@

>> wrote:

> Hi Guile,
> have you inspect-ed the list?
> I wouldn't be surprise that these are whole sentence acting as
> specification in unit TestCase,
> like whenBrowserReceiveOpenItShouldReturnTheWindowMorph...
>
> 2017-08-16 3:51 GMT+02:00 Guillermo Polito <

> guillermopolito@

> >:
>
>> #'thisIsAVeryLongSelectorAndIfYoureHereWeHaveOnly49ImagineIH
>> aveToWriteAllThisToArriveTo87ThenThisTo100'
>>
>> (ByteSymbol allInstances select: [ :e | e size > 100 ]) size
>>   => 36
>>
>> (ByteSymbol allInstances select: [ :e | e size between: 50 and: 100
>> ])
>> size
>>   => 653
>>
>>
>> --
>>
>>
>>
>> Guille Polito
>>
>>
>> Research Engineer
>>
>> French National Center for Scientific Research - *http://www.cnrs.fr*
>> ;
>>
>>
>>
>> *Web:* *http://guillep.github.io* ;
>>
>> *Phone: *+33 06 52 70 66 13 <+33%206%2052%2070%2066%2013>
>>
>
>


 --



 Guille Polito


 Research Engineer

 French National Center for Scientific Research - *http://www.cnrs.fr*
 ;



 *Web:* *http://guillep.github.io* ;

 *Phone: *+33 06 52 70 66 13 <+33%206%2052%2070%2066%2013>

>>>
>>>
>>
> 
> 
> -- 
> 
> 
> 
> Guille Polito
> 
> 
> Research Engineer
> 
> French National Center for Scientific Research - *http://www.cnrs.fr*
> ;
> 
> 
> 
> *Web:* *http://guillep.github.io* ;
> 
> *Phone: *+33 06 52 70 66 13





--
View this message in context: 
http://forum.world.st/Ugly-smell-really-long-symbols-selectors-tp4961544p4961707.html
Sent from the Pharo Smalltalk Developers mailing list archive at Nabble.com.



Re: [Pharo-dev] Ugly smell: really long symbols/selectors

2017-08-16 Thread Guillermo Polito
but wait, I've just shown that more than 2/3s of them are not test
selectors...

On Wed, Aug 16, 2017 at 2:21 PM, Denis Kudriashov 
wrote:

> Which is actually shows that tests as methods are not really good idea.
> Tests are supposed to be documentation but with classic SUnit we have only
> two ways (classes and methods) to decompose them which is definitely not
> enough for docs.
> But ignore it. I am just thinking aloud :)
>
> 2017-08-16 13:47 GMT+02:00 Stephane Ducasse :
>
>> I often use long selectors for tests :)
>>
>>
>> On Wed, Aug 16, 2017 at 9:49 AM, Guillermo Polito <
>> guillermopol...@gmail.com> wrote:
>>
>>> (ByteSymbol allInstances select: [ :e | e size > 50 ]) size
>>> "638"
>>> (ByteSymbol allInstances select: [ :e | e size > 50 and: [ e beginsWith:
>>> 'test' ] ]) size
>>> "200"
>>>
>>> Still 438 non test selectors. Some of them are class creation methods
>>> (#subclass:instanceVariables:...)
>>>
>>> I'm just saying this is a smell, wanted to share some of my catarsis :).
>>>
>>> Guille
>>>
>>> On Wed, Aug 16, 2017 at 9:35 AM, Nicolas Cellier <
>>> nicolas.cellier.aka.n...@gmail.com> wrote:
>>>
 Hi Guile,
 have you inspect-ed the list?
 I wouldn't be surprise that these are whole sentence acting as
 specification in unit TestCase,
 like whenBrowserReceiveOpenItShouldReturnTheWindowMorph...

 2017-08-16 3:51 GMT+02:00 Guillermo Polito :

> #'thisIsAVeryLongSelectorAndIfYoureHereWeHaveOnly49ImagineIH
> aveToWriteAllThisToArriveTo87ThenThisTo100'
>
> (ByteSymbol allInstances select: [ :e | e size > 100 ]) size
>   => 36
>
> (ByteSymbol allInstances select: [ :e | e size between: 50 and: 100 ])
> size
>   => 653
>
>
> --
>
>
>
> Guille Polito
>
>
> Research Engineer
>
> French National Center for Scientific Research - *http://www.cnrs.fr*
> 
>
>
>
> *Web:* *http://guillep.github.io* 
>
> *Phone: *+33 06 52 70 66 13 <+33%206%2052%2070%2066%2013>
>


>>>
>>>
>>> --
>>>
>>>
>>>
>>> Guille Polito
>>>
>>>
>>> Research Engineer
>>>
>>> French National Center for Scientific Research - *http://www.cnrs.fr*
>>> 
>>>
>>>
>>>
>>> *Web:* *http://guillep.github.io* 
>>>
>>> *Phone: *+33 06 52 70 66 13 <+33%206%2052%2070%2066%2013>
>>>
>>
>>
>


-- 



Guille Polito


Research Engineer

French National Center for Scientific Research - *http://www.cnrs.fr*




*Web:* *http://guillep.github.io* 

*Phone: *+33 06 52 70 66 13


Re: [Pharo-dev] Ugly smell: really long symbols/selectors

2017-08-16 Thread Denis Kudriashov
Which is actually shows that tests as methods are not really good idea.
Tests are supposed to be documentation but with classic SUnit we have only
two ways (classes and methods) to decompose them which is definitely not
enough for docs.
But ignore it. I am just thinking aloud :)

2017-08-16 13:47 GMT+02:00 Stephane Ducasse :

> I often use long selectors for tests :)
>
>
> On Wed, Aug 16, 2017 at 9:49 AM, Guillermo Polito <
> guillermopol...@gmail.com> wrote:
>
>> (ByteSymbol allInstances select: [ :e | e size > 50 ]) size
>> "638"
>> (ByteSymbol allInstances select: [ :e | e size > 50 and: [ e beginsWith:
>> 'test' ] ]) size
>> "200"
>>
>> Still 438 non test selectors. Some of them are class creation methods
>> (#subclass:instanceVariables:...)
>>
>> I'm just saying this is a smell, wanted to share some of my catarsis :).
>>
>> Guille
>>
>> On Wed, Aug 16, 2017 at 9:35 AM, Nicolas Cellier <
>> nicolas.cellier.aka.n...@gmail.com> wrote:
>>
>>> Hi Guile,
>>> have you inspect-ed the list?
>>> I wouldn't be surprise that these are whole sentence acting as
>>> specification in unit TestCase,
>>> like whenBrowserReceiveOpenItShouldReturnTheWindowMorph...
>>>
>>> 2017-08-16 3:51 GMT+02:00 Guillermo Polito :
>>>
 #'thisIsAVeryLongSelectorAndIfYoureHereWeHaveOnly49ImagineIH
 aveToWriteAllThisToArriveTo87ThenThisTo100'

 (ByteSymbol allInstances select: [ :e | e size > 100 ]) size
   => 36

 (ByteSymbol allInstances select: [ :e | e size between: 50 and: 100 ])
 size
   => 653


 --



 Guille Polito


 Research Engineer

 French National Center for Scientific Research - *http://www.cnrs.fr*
 



 *Web:* *http://guillep.github.io* 

 *Phone: *+33 06 52 70 66 13 <+33%206%2052%2070%2066%2013>

>>>
>>>
>>
>>
>> --
>>
>>
>>
>> Guille Polito
>>
>>
>> Research Engineer
>>
>> French National Center for Scientific Research - *http://www.cnrs.fr*
>> 
>>
>>
>>
>> *Web:* *http://guillep.github.io* 
>>
>> *Phone: *+33 06 52 70 66 13 <+33%206%2052%2070%2066%2013>
>>
>
>


Re: [Pharo-dev] Ugly smell: really long symbols/selectors

2017-08-16 Thread Stephane Ducasse
I often use long selectors for tests :)


On Wed, Aug 16, 2017 at 9:49 AM, Guillermo Polito  wrote:

> (ByteSymbol allInstances select: [ :e | e size > 50 ]) size
> "638"
> (ByteSymbol allInstances select: [ :e | e size > 50 and: [ e beginsWith:
> 'test' ] ]) size
> "200"
>
> Still 438 non test selectors. Some of them are class creation methods
> (#subclass:instanceVariables:...)
>
> I'm just saying this is a smell, wanted to share some of my catarsis :).
>
> Guille
>
> On Wed, Aug 16, 2017 at 9:35 AM, Nicolas Cellier <
> nicolas.cellier.aka.n...@gmail.com> wrote:
>
>> Hi Guile,
>> have you inspect-ed the list?
>> I wouldn't be surprise that these are whole sentence acting as
>> specification in unit TestCase,
>> like whenBrowserReceiveOpenItShouldReturnTheWindowMorph...
>>
>> 2017-08-16 3:51 GMT+02:00 Guillermo Polito :
>>
>>> #'thisIsAVeryLongSelectorAndIfYoureHereWeHaveOnly49ImagineIH
>>> aveToWriteAllThisToArriveTo87ThenThisTo100'
>>>
>>> (ByteSymbol allInstances select: [ :e | e size > 100 ]) size
>>>   => 36
>>>
>>> (ByteSymbol allInstances select: [ :e | e size between: 50 and: 100 ])
>>> size
>>>   => 653
>>>
>>>
>>> --
>>>
>>>
>>>
>>> Guille Polito
>>>
>>>
>>> Research Engineer
>>>
>>> French National Center for Scientific Research - *http://www.cnrs.fr*
>>> 
>>>
>>>
>>>
>>> *Web:* *http://guillep.github.io* 
>>>
>>> *Phone: *+33 06 52 70 66 13 <+33%206%2052%2070%2066%2013>
>>>
>>
>>
>
>
> --
>
>
>
> Guille Polito
>
>
> Research Engineer
>
> French National Center for Scientific Research - *http://www.cnrs.fr*
> 
>
>
>
> *Web:* *http://guillep.github.io* 
>
> *Phone: *+33 06 52 70 66 13 <+33%206%2052%2070%2066%2013>
>


Re: [Pharo-dev] Ugly smell: really long symbols/selectors

2017-08-16 Thread Guillermo Polito
(ByteSymbol allInstances select: [ :e | e size > 50 ]) size
"638"
(ByteSymbol allInstances select: [ :e | e size > 50 and: [ e beginsWith:
'test' ] ]) size
"200"

Still 438 non test selectors. Some of them are class creation methods
(#subclass:instanceVariables:...)

I'm just saying this is a smell, wanted to share some of my catarsis :).

Guille

On Wed, Aug 16, 2017 at 9:35 AM, Nicolas Cellier <
nicolas.cellier.aka.n...@gmail.com> wrote:

> Hi Guile,
> have you inspect-ed the list?
> I wouldn't be surprise that these are whole sentence acting as
> specification in unit TestCase,
> like whenBrowserReceiveOpenItShouldReturnTheWindowMorph...
>
> 2017-08-16 3:51 GMT+02:00 Guillermo Polito :
>
>> #'thisIsAVeryLongSelectorAndIfYoureHereWeHaveOnly49ImagineIH
>> aveToWriteAllThisToArriveTo87ThenThisTo100'
>>
>> (ByteSymbol allInstances select: [ :e | e size > 100 ]) size
>>   => 36
>>
>> (ByteSymbol allInstances select: [ :e | e size between: 50 and: 100 ])
>> size
>>   => 653
>>
>>
>> --
>>
>>
>>
>> Guille Polito
>>
>>
>> Research Engineer
>>
>> French National Center for Scientific Research - *http://www.cnrs.fr*
>> 
>>
>>
>>
>> *Web:* *http://guillep.github.io* 
>>
>> *Phone: *+33 06 52 70 66 13 <+33%206%2052%2070%2066%2013>
>>
>
>


-- 



Guille Polito


Research Engineer

French National Center for Scientific Research - *http://www.cnrs.fr*




*Web:* *http://guillep.github.io* 

*Phone: *+33 06 52 70 66 13


Re: [Pharo-dev] Ugly smell: really long symbols/selectors

2017-08-16 Thread Nicolas Cellier
Hi Guile,
have you inspect-ed the list?
I wouldn't be surprise that these are whole sentence acting as
specification in unit TestCase,
like whenBrowserReceiveOpenItShouldReturnTheWindowMorph...

2017-08-16 3:51 GMT+02:00 Guillermo Polito :

> #'thisIsAVeryLongSelectorAndIfYoureHereWeHaveOnly49ImagineIHav
> eToWriteAllThisToArriveTo87ThenThisTo100'
>
> (ByteSymbol allInstances select: [ :e | e size > 100 ]) size
>   => 36
>
> (ByteSymbol allInstances select: [ :e | e size between: 50 and: 100 ]) size
>   => 653
>
>
> --
>
>
>
> Guille Polito
>
>
> Research Engineer
>
> French National Center for Scientific Research - *http://www.cnrs.fr*
> 
>
>
>
> *Web:* *http://guillep.github.io* 
>
> *Phone: *+33 06 52 70 66 13 <+33%206%2052%2070%2066%2013>
>


[Pharo-dev] Ugly smell: really long symbols/selectors

2017-08-15 Thread Guillermo Polito
#'thisIsAVeryLongSelectorAndIfYoureHereWeHaveOnly49ImagineIHaveToWriteAllThisToArriveTo87ThenThisTo100'

(ByteSymbol allInstances select: [ :e | e size > 100 ]) size
  => 36

(ByteSymbol allInstances select: [ :e | e size between: 50 and: 100 ]) size
  => 653


-- 



Guille Polito


Research Engineer

French National Center for Scientific Research - *http://www.cnrs.fr*




*Web:* *http://guillep.github.io* 

*Phone: *+33 06 52 70 66 13