Are Unreachable Methods Harmful? Results from a Controlled Experiment — Simone Romano

Unreachable code. So bad! Or is it? First: what is unreachable code? Unreachable code is code that never will be executed. It differs slightly from dead code, which code which is executed but whose result is never used in any other computation. The author of this study did a previous one, where they found that system Read more about Are Unreachable Methods Harmful? Results from a Controlled Experiment — Simone Romano[…]

What’s in a Name? A Study of Identifiers – Dawn Lawrie

This is a talk on the most influential paper of 10 years ago. Dawn wanted to study the impact of identifiers names. For this work there were 3 hypotheses: Full word identifiers are better for source code comprehension Work experience or schooling leads to better scores on code comprehension Gender plays a role in confidence Read more about What’s in a Name? A Study of Identifiers – Dawn Lawrie[…]

Taming the IDE with Fine-grained Interaction Data — Roberto Minelli

When we are reading code, what actually happens is that by navigating code we change our mental model. Navigation tasks are common, Ko et al found that on average 35% of time is spent on it[1]. And if you say navigation, you say… IDE! When doing a certain task, a developer of course opens different Read more about Taming the IDE with Fine-grained Interaction Data — Roberto Minelli[…]

Identifying Modularization Patterns by Visual Comparison of Multiple Hierarchies — Fabian Beck

There are many ways in which code can be coupled, like could be ‘real’ coupling like dependencies and fan out, but also evolutionary coupling (likely to change together) and semantic similarity (doing similar things) Developers usually modularize their software of course, and systems for that are usually hierarchical. There are two problems in the current Read more about Identifying Modularization Patterns by Visual Comparison of Multiple Hierarchies — Fabian Beck[…]

On Method Ordering — Yorai Geffen

Method ordering! Awesome. This has been a topic on my mind, especially since I hate the fact that most refactoring tools place a new method _below_ the caller. For me that is and remains so unintuitive! What are some strategies: StyleCop says: constructors first, than static, and than everything else Calling (stemming from Clean Code) Read more about On Method Ordering — Yorai Geffen[…]