Participate to the Magic Literal XP

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

Participate to the Magic Literal XP

Stéphane Ducasse

Dear all,

We are running a large XP for a research around Magic Literals. 

A magic literal is a literal (number, booleans,…) that is used to denote something but that it not immediately obvious 
to the code reader: it can be for example a number but could be also a string, a character or boolean (this is what we want to discover).
When you read the code you should be puzzled by the usage of this magic encoding and this is what 
we want to understand and that you report to use using a special tool.

Now identifying magic literal is not easy and we want to measure them. 
We already did a publication at ESUG last year (but we only did an XP with 100 methods) and now we want to go the world. If you want to read it

Our idea is to have result first in Smalltalk and then, only then check with Java :). 
But for that we should show to the world that we did a large XP.  So we build one and now we need you to help. 

First we need to evaluate the situation and understand the different cases, as not all literals are "magic".
You can help us in this. It can take you 30 min for one experience. 

In the shared directory
there are images for different experiments (on whole Pharo, on Roassal, Polymath, VM maker, Seaside project, …)
We want to compare the analysis of an expert and an external person on a domain this is why we will cross comparison
between roassal expert and roassal newbie (same for Seaside, Polymath, VMMaker)

These images contain the code and the tool for the experiment and they should be open with Pharo80 you can get

To participate in the experiment:
- Step 2. select one experiment to do (for example put your name in the column 'Doing’) add your expertise to the sheet

- Step 3. please select the experiments in numerical order, e.g. do the
Pharo-1 experiment before the Pharo-2 one.
Note that a Lot will contain also some other methods because we are mixing methods to collect more information
so do not be surprised to see other methods that Polymath’s ones in the polymath XP. 

- Step 4. Get the tool on the experiment. 

From the list grab an inspector and execute MLSExperimentPresenter openOnSample: self ' with the batch you chose as argument 

You should get the following tool (with different colors :) - yes that theme is funky)

- Step 5. decide whether each literal presented is Magic or not (unabling ‘Hide completed' can help)

Remember: 'A magic literal is a literal (number, booleans,…) that is used to denote something but that it not immediately obvious 
to the code reader'

- Step 6. completing one experiment should take less than 30 minutes

- Step 7.  when done, save the result (button at the bottom of MLSExperimentPresenter)
- this will give a STON file named after your batch.

- Step 8. You need to send us this file (email at  [hidden email])

Your identity will be discarded from the data (anonymous answers). But we will owe you a beer at ESUG or Pharodays :)
We will use it only to assess your expertise in Pharo and/or the project evaluated.

Many thanks for your help in improving pharo and our understanding of the literals (magic or not)

Nicolas, Stephane, Julien, Christopher and Oleksandr

Stéphane Ducasse
03 59 35 87 52
Assistant: Julie Jonas 
FAX 03 59 57 78 50
TEL 03 59 35 86 16
S. Ducasse - Inria
40, avenue Halley, 
Parc Scientifique de la Haute Borne, Bât.A, Park Plaza
Villeneuve d'Ascq 59650

Esug-list mailing list
[hidden email]