Supporting materials for method ordering paper, accepted to ICPC 2016

On Method Ordering

A paper by Yorai Geffen and Shahar Maoz
School of Computer Science, Tel Aviv University, Israel

Abstract

As the order of methods in a Java class has no effect on its semantics, an
engineer can choose any order she prefers. Which code conventions regarding methods 
ordering are common in practice, if any? Are some orders better than others in 
making the code easier to understand? Can good orders be computed and applied 
automatically?
In this work we address these questions. First, we present a study of method
orders in a large body of open source projects, where we identify existing common
practices. Second, we present four method ordering strategies, which we automate and
provide in an Eclipse plugin, as a form of refactoring. Finally, we present the 
results of a user study, which evaluates the effect of our methods ordering 
strategies on engineers' code comprehension in terms of correctness and time 
spent on answering.
Raw data of corpus analysis and user study

Download paper here

Ordi: an Eclipse plugin for method reordering

Ordi can be used to analyze and change orders in Java classes, based on user selected ordering strategy.
To use, right click (in the Package explorer) -> Refactor -> Method Ordering.

One minute demo

Install New Software URL