Tuesday, April 11, 2006

 

Eiffel Struggle Results Scoring

I just received the detailed judging scores for my Eiffel Struggle competition entry. Those who didn't enter may be interested to see how the scoring works:
  1. Installation documentation: 7/10
  2. Usage documentation: 7/10
  3. Construction documentation: 1/10
  4. Innovation and community value: not seen before in Eiffel: 4/10
  5. Innovation and community value: not seen before at all: 4/10
  6. Portability among Eiffel compilers: 4/10
  7. Portability among platforms: 2/10
  8. How easy is it to install the application or library? 8/10
  9. How well is the entry constructed? Did it use
    patterns for example? Was it complete? Did it not abstract away too
    much? 7/10
  10. Source code readability: 6/7
  11. Source code formatting: 3/3
  12. Use of the Principles of Design by Contract: 6/10
  13. How easy is it to use if the entry is an application? 7/10
  14. How easy is it to use if the entry is a library? N/A
  15. How much effort seems to have been put into it? 6/10
It must be incredibly hard for the judges to rank such dissimilar contest entries, so I have no complaints about the scores.

I deliberately chose to use formatting other than the struggle-sanctioned OOSC/Gobo style (I prefer three-character indentation so that I can see more code in a narrow window). Although I applied my style consistently, I was expecting to lose points for it and was pleased to be awarded the maximum three points available for source code formatting.

For what it's worth, if the results were up to me I would have awarded first prize to Andreas Leitner's AutoTest which is something quite amazing, and second to Daniel Moisset's Eiffel Windowing System which is a very practical, well-rounded package.

Comments:
> I prefer three-character indentation so that I can see more code in a narrow window

I never understood the battle between spaces and tabs. It seems to me tabs are the winner and I'm so happy this is the canonical Eiffel style.

Roger, don't you use an editor that allows you to set the tab spacing? I use TextPad but I think most editors allow you to set the tab spacing. With this you can view code with the indentation level you like.

Of course you need to stick with one style. If you mix tabs and spaces (like oh so many SmartEiffel classes) then you must set the tab spacing to the original developer's or the code will look terrible. My guess is that mixing tabs and spaces is more often out of ignorance than intention. Many editors insert tabs automatically. If the tab spacing is set to the person's preference (the amount of spaces the person inserts for an indent) then the spurious tab will go undetected until someone like me wants to change the indentation level.

The moral of the story? Use tabs and tabs only.

There is one exception to this rule; something I call a line continuation (maybe other people call it this, I don't know). This is when you want a line of code to be aligned to the previous line. In this case you need to tab the second line to the same level of the first line, and then space over to align it properly. If you keep to this your code will look pretty on anyone's editor.
 
Brian, sure I have an editor where I can set tab spacing. But I also view my code on the web, in Usenet postings, from other people's computers, in version control repository browsers etc, where I can't always set the tab spacing.

With spaces, I always get what I want. With tabs, I sometimes get what I want. No contest!

Naturally, my editor is configured to indent by three spaces when I hit "tab".
 
Hadn't looked at ews, looks interesting. But it works only with SmartEiffel it seems. Would it be hard to port to ISE?

I mean, with ewg you just generate all the wrappers, probably already done in EiffelMedia. So you take that and build ews on top of that.

Not sure if this makes sense, as I don't know ews, but portability wins points :-)
 
This comment has been removed by a blog administrator.
 
> But I also view my code on the web, in Usenet postings, from other people's computers, in version control repository browsers etc, where I can't always set the tab spacing.

Hadn't thought of that. The battle wages on! However, I don't think there is ever a reason to mix tabs and spaces.
 
Berend, because EiffelMedia includes a widget that allows it to be integrated into Vision2, there's not really a need for something like ews on ISE Eiffel.
 
I'm also satisfied with the scoring I got for ews (7th place). I think the scoring was very coherent with the established judging rules. Perhaps I would have put different weights to the judged aspects, but I am not running the contest :)

I like ews a lot (I wrote it, so I am fully biased) but it lost lots of points on Windows portability and internal documentation, I was not able to make it to the deadline with those aspects.
 
Post a Comment



<< Home

This page is powered by Blogger. Isn't yours?