Perhaps you could give Moose a try :).

For a quick experiment:
1. Download
https://ci.inria.fr/moose/job/moose-latest-dev-4.8/lastSuccessfulBuild/artifact/moose-latest-dev-4.8.zip
2. Execute
((MoosePharoImporterTask new
        addClasses: {Morph};
        run) 
                allModelClasses entityNamed: #'Smalltalk::Morph')
                        openInMoose
3. Look in the second tab

Cheers,
Doru

 
On Apr 7, 2013, at 11:01 PM, Hernán Morales Durand <[email protected]> 
wrote:

> Hi Marcus,
> 
> Thanks for the information. I couldn't answer before because of the flooding 
> in my city[*].
> 
> Can you recommend a package for more advanced metrics?
> Cheers,
> 
> 
> [*] http://www.bbc.co.uk/news/world-latin-america-22023196
> http://www.bbc.co.uk/news/world-latin-america-22019841
> 
> El 02/04/2013 11:01, Marcus Denker escribió:
>> 
>> On Apr 2, 2013, at 4:54 AM, Hernán Morales Durand <[email protected]> 
>> wrote:
>> 
>>> Hi Janko. Thanks for your useful package.
>>> 
>>> Apparently there is some issue with #linesOfCode. The dummy expression 
>>> below return 5 instead of 4 in Pharo 1.4 and 2 because is counting the 
>>> autogenerated 'DoIt' selector.
>>> 
>>> (UndefinedObject evaluatorClass new
>>>     compileNoPattern: '| oc |
>>> oc := OrderedCollection new: 20.
>>> oc add: 1.
>>> oc size'
>>>     in: UndefinedObject
>>>     context: nil
>>>     notifying: nil
>>>     ifFail: []) generate linesOfCode
>> 
>> Hello,
>> 
>> I do not think that this is wrong. The doit *does* contain a selector. if 
>> #linesOfCode would contain a special
>> case for doits, it would be inconsistent.
>> 
>> E.g. print this:
>> 
>> thisContext method sourceCode
>> 
>> -->
>> 
>>  'DoIt
>>      ^ thisContext method sourceCode'
>> 
>> There is a Doit. There is even a return in the that is generated… and the 
>> doit is actually pretty-printed:
>> 
>> 
>> 
>> thisContext
>> method
>> linesOfCode
>> 
>> --> 2
>> 
>> So in short: dots are special, there is no need to change #linesOfCode, as 
>> there is no thinkable change
>> that would make any sense.
>> 
>> In general, LOC as a metric is not that good. It is better than nothing, but 
>> it makes more sense to count
>> e.g. message sends or use more advanced metrics on the AST (not every 
>> statement adds the same
>> to complexity, e.g. conditionals versus simple statements).
>> 
>> 
>>      Marcus
>> 
> 
> 

--
www.tudorgirba.com

"Speaking louder won't make the point worthier."


Reply via email to