\begin{minipage}{\textwidth-4pt}#2\end{minipage}}}
\title{Refactoring}
-\subtitle{An unfinished essay}
+\subtitle{An essay}
\author{Erlend Kristiansen}
\bibliography{bibliography/master-thesis-erlenkr-bibliography}
refactoring like this:
\begin{quote}
- \emph{Refactoring} (noun): a change made to the \todo{what does he mean by
- internal?} internal structure of software to make it easier to understand and
- cheaper to modify without changing its observable
- behavior.~\cite[p.~53]{refactoring}
+ \emph{Refactoring} (noun): a change made to the internal
+ structure\footnote{The structure observable by the programmer.} of software to
+ make it easier to understand and cheaper to modify without changing its
+ observable behavior.~\cite[p.~53]{refactoring}
\end{quote}
\noindent This definition assign additional meaning to the word
are called on the same object, and the statement on line 3 of class \type{X}
(the version after the refactoring) no longer have any effect in our example.
-The bug introduced in the previous example is of such a nature that it is very
-difficult to spot if the refactored code is not covered by tests. It does not
-generate compilation errors, and will thus only result in a runtime error or
-corrupted data, which might be hard to detect.
+The bug introduced in the previous example is of such a nature\footnote{Caused
+ by aliasing. See \url{https://en.wikipedia.org/wiki/Aliasing_(computing)}}
+ that it is very difficult to spot if the refactored code is not covered by
+ tests. It does not generate compilation errors, and will thus only result in
+ a runtime error or corrupted data, which might be hard to detect.
\section{Refactoring and testing}\label{testing}
\begin{quote}
sourced community edition that is free of charge, but also offer an
\emph{Ultimate Edition} with an extended set of features, at additional cost.
All three IDEs supports adding plugins to extend their functionality and tools
-that can be used to parse and analyze Java source code. \todo{investigate if
-this is true} But one of the IDEs stand out as a favorite, and that is the
-\emph{Eclipse IDE}. This is the most popular\citing{javaReport2011} among them
-and seems to be de facto standard IDE for Java development regardless of
-platform.
+that can be used to parse and analyze Java source code. But one of the IDEs
+stand out as a favorite, and that is the \emph{Eclipse IDE}. This is the most
+popular\citing{javaReport2011} among them and seems to be de facto standard IDE
+for Java development regardless of platform.
\chapter{Refactorings in Eclipse JDT: Design, Shortcomings and Wishful
\section{Wishful Thinking}
-
\chapter{Composite Refactorings in Eclipse}
\section{A Simple Ad Hoc Model}