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."
