Code stats - Aida vs. Seaside vs. Iliad

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
3 messages Options
Reply | Threaded
Open this post in threaded view
|

Code stats - Aida vs. Seaside vs. Iliad

Janko Mivšek
Dear Seasiders,

I made few measurements of code from three main Smalltalk web frameworks
and results are now available at Google
Docs:
https://spreadsheets.google.com/ccc?key=0Atnb1W9vuq9ndG4wbUpxNXpKQnFZRlFyQXpHclhZa2c&hl=en#gid=1

Here you'll find graphs of three distributions:

 - number of methods in classes
 - class inheritance depth
 - number of lines in methods

And also the following measurements:

  Code stats               Aida  Seaside  Iliad
  ----------------------------------------------
  Nr of packages             1      74      9
  Nr of categories          14     123     26
  Nr of classes            145     943    265
  Nr of methods           4.465   8.758  2.368
  Lines of code          33.578  66.337  9.794
  Avg methods/class        31      9       9
  Avg lines/method        7,5     7,6     4,1

  Nr of test methods       67     914     412
  Avg tests/class         0,5      1      1,6

  % of commented methods  45%     23%      5%
  % of commented classes  32%     39%     13%

               
Code is loaded in Pharo with by Metacello configurations, tests are
included, all code included except Grease, Sport, Swazoo, Magritte.

Let me say few words about the reason I started those measurements:
mostly to find things to improve in Aida but I think results are
interesting more broadly. Specially, because they seems to reveal two
schools of thought about how to code in Smalltalk. Just compare the
number of packages, classes and methods per class, then first two graphs
about number of methods per class, and class inheritance depth.

Quite interesting results and quite some food for discussion!

Best regards
Janko

--
Janko Mivšek
AIDA/Web
Smalltalk Web Application Server
http://www.aidaweb.si
_______________________________________________
seaside mailing list
[hidden email]
http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside
Reply | Threaded
Open this post in threaded view
|

Re: Code stats - Aida vs. Seaside vs. Iliad

Janko Mivšek
.. and here is the code used for those measurements:

    http://www.squeaksource.com/WebCodeStats.html

Best regards
Janko

On 15. 11. 2010 13:11, Janko Mivšek wrote:

> Dear Seasiders,
>
> I made few measurements of code from three main Smalltalk web frameworks
> and results are now available at Google
> Docs:
> https://spreadsheets.google.com/ccc?key=0Atnb1W9vuq9ndG4wbUpxNXpKQnFZRlFyQXpHclhZa2c&hl=en#gid=1
>
> Here you'll find graphs of three distributions:
>
>  - number of methods in classes
>  - class inheritance depth
>  - number of lines in methods
>
> And also the following measurements:
>
>   Code stats               Aida  Seaside  Iliad
>   ----------------------------------------------
>   Nr of packages             1      74      9
>   Nr of categories          14     123     26
>   Nr of classes            145     943    265
>   Nr of methods           4.465   8.758  2.368
>   Lines of code          33.578  66.337  9.794
>   Avg methods/class        31      9       9
>   Avg lines/method        7,5     7,6     4,1
>
>   Nr of test methods       67     914     412
>   Avg tests/class         0,5      1      1,6
>
>   % of commented methods  45%     23%      5%
>   % of commented classes  32%     39%     13%
>
>
> Code is loaded in Pharo with by Metacello configurations, tests are
> included, all code included except Grease, Sport, Swazoo, Magritte.
>
> Let me say few words about the reason I started those measurements:
> mostly to find things to improve in Aida but I think results are
> interesting more broadly. Specially, because they seems to reveal two
> schools of thought about how to code in Smalltalk. Just compare the
> number of packages, classes and methods per class, then first two graphs
> about number of methods per class, and class inheritance depth.
>
> Quite interesting results and quite some food for discussion!
>
> Best regards
> Janko
>

--
Janko Mivšek
AIDA/Web
Smalltalk Web Application Server
http://www.aidaweb.si
_______________________________________________
seaside mailing list
[hidden email]
http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside
Reply | Threaded
Open this post in threaded view
|

Re: Code stats - Aida vs. Seaside vs. Iliad

Philippe Marschall
In reply to this post by Janko Mivšek
2010/11/15 Janko Mivšek <[hidden email]>:

> Dear Seasiders,
>
> I made few measurements of code from three main Smalltalk web frameworks
> and results are now available at Google
> Docs:
> https://spreadsheets.google.com/ccc?key=0Atnb1W9vuq9ndG4wbUpxNXpKQnFZRlFyQXpHclhZa2c&hl=en#gid=1
>
> Here you'll find graphs of three distributions:
>
>  - number of methods in classes
>  - class inheritance depth
>  - number of lines in methods
>
> And also the following measurements:
>
>  Code stats               Aida  Seaside  Iliad
>  ----------------------------------------------
>  Nr of packages             1      74      9
>  Nr of categories          14     123     26
>  Nr of classes            145     943    265
>  Nr of methods           4.465   8.758  2.368
>  Lines of code          33.578  66.337  9.794
>  Avg methods/class        31      9       9
>  Avg lines/method        7,5     7,6     4,1
>
>  Nr of test methods       67     914     412
>  Avg tests/class         0,5      1      1,6
>
>  % of commented methods  45%     23%      5%
>  % of commented classes  32%     39%     13%
>
>
> Code is loaded in Pharo with by Metacello configurations, tests are
> included, all code included except Grease, Sport, Swazoo, Magritte.
>
> Let me say few words about the reason I started those measurements:
> mostly to find things to improve in Aida but I think results are
> interesting more broadly. Specially, because they seems to reveal two
> schools of thought about how to code in Smalltalk. Just compare the
> number of packages, classes and methods per class, then first two graphs
> about number of methods per class, and class inheritance depth.
>
> Quite interesting results and quite some food for discussion!

More or less what I would have expected. I think it would make sense
to not include tests in 'Nr of classes ' and friends but put then in
different categories. Also stuff like number of undeclareds would be
interesting.

Without some context these are just numbers and don't really mean much.

Cheers
Philippe
_______________________________________________
seaside mailing list
[hidden email]
http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside