]> git.uio.no Git - ifi-stolz-refaktor.git/commitdiff
Starting to write about Eclipse shortcomings.
authorErlend Kristiansen <erlenkr@ifi.uio.no>
Tue, 19 Nov 2013 18:33:26 +0000 (19:33 +0100)
committerErlend Kristiansen <erlenkr@ifi.uio.no>
Tue, 19 Nov 2013 18:33:26 +0000 (19:33 +0100)
thesis/master-thesis-erlenkr.aux
thesis/master-thesis-erlenkr.pdf
thesis/master-thesis-erlenkr.tdo
thesis/master-thesis-erlenkr.tex
thesis/master-thesis-erlenkr.toc

index 66629102d55f8770ec2b6ce9ffdecc7905965722..1f5bd0909455e88315cd518ea9fafad04cb85dde 100644 (file)
 \pp@pagectr{footnote}{12}{22}{10}
 \pp@pagectr{footnote}{13}{22}{10}
 \@writefile{toc}{\defcounter {refsection}{0}\relax }\@writefile{toc}{\contentsline {section}{\numberline {2.2}Shortcomings}{10}}
+\@writefile{toc}{\defcounter {refsection}{0}\relax }\@writefile{toc}{\contentsline {subsubsection}{Absence of Generics in Eclipse Source Code}{10}}
+\@writefile{tdo}{\defcounter {refsection}{0}\relax }\@writefile{tdo}{\contentsline {todo}{\dots  }{11}}
+\pgfsyspdfmark {pgfid36}{7292190}{45680457}
+\pgfsyspdfmark {pgfid39}{33785118}{45675615}
+\pgfsyspdfmark {pgfid40}{37143838}{45428038}
 \citation{dp}
-\@writefile{toc}{\defcounter {refsection}{0}\relax }\@writefile{toc}{\contentsline {chapter}{\numberline {3}Composite Refactorings in Eclipse}{11}}
+\@writefile{toc}{\defcounter {refsection}{0}\relax }\@writefile{toc}{\contentsline {chapter}{\numberline {3}Composite Refactorings in Eclipse}{13}}
 \@writefile{lof}{\defcounter {refsection}{0}\relax }\@writefile{lof}{\addvspace {10\p@ }}
 \@writefile{lot}{\defcounter {refsection}{0}\relax }\@writefile{lot}{\addvspace {10\p@ }}
-\@writefile{toc}{\defcounter {refsection}{0}\relax }\@writefile{toc}{\contentsline {section}{\numberline {3.1}A Simple Ad Hoc Model}{11}}
-\@writefile{toc}{\defcounter {refsection}{0}\relax }\@writefile{toc}{\contentsline {section}{\numberline {3.2}The Extract and Move Method Refactoring}{11}}
-\@writefile{toc}{\defcounter {refsection}{0}\relax }\@writefile{toc}{\contentsline {subsection}{\numberline {3.2.1}The ExtractAndMoveMethodChanger Class}{11}}
-\@writefile{toc}{\defcounter {refsection}{0}\relax }\@writefile{toc}{\contentsline {subsection}{\numberline {3.2.2}The ExtractAndMoveMethodPrefixesExtractor Class}{11}}
-\@writefile{toc}{\defcounter {refsection}{0}\relax }\@writefile{toc}{\contentsline {subsection}{\numberline {3.2.3}The Prefix Class}{11}}
-\@writefile{toc}{\defcounter {refsection}{0}\relax }\@writefile{toc}{\contentsline {subsection}{\numberline {3.2.4}The PrefixSet Class}{11}}
-\@writefile{toc}{\defcounter {refsection}{0}\relax }\@writefile{toc}{\contentsline {subsection}{\numberline {3.2.5}Hacking the Refactoring Undo History}{11}}
-\@writefile{tdo}{\defcounter {refsection}{0}\relax }\@writefile{tdo}{\contentsline {todo}{Where to put this section?}{11}}
-\pgfsyspdfmark {pgfid36}{6178078}{9581956}
-\pgfsyspdfmark {pgfid39}{33785118}{9577114}
-\pgfsyspdfmark {pgfid40}{37143838}{9329537}
-\pp@pagectr{footnote}{14}{23}{11}
-\pp@pagectr{footnote}{15}{24}{12}
-\pp@pagectr{footnote}{16}{24}{12}
-\pp@pagectr{footnote}{17}{24}{12}
-\pp@pagectr{footnote}{18}{24}{12}
-\pp@pagectr{footnote}{19}{24}{12}
+\@writefile{toc}{\defcounter {refsection}{0}\relax }\@writefile{toc}{\contentsline {section}{\numberline {3.1}A Simple Ad Hoc Model}{13}}
+\@writefile{toc}{\defcounter {refsection}{0}\relax }\@writefile{toc}{\contentsline {section}{\numberline {3.2}The Extract and Move Method Refactoring}{13}}
+\@writefile{toc}{\defcounter {refsection}{0}\relax }\@writefile{toc}{\contentsline {subsection}{\numberline {3.2.1}The ExtractAndMoveMethodChanger Class}{13}}
+\@writefile{toc}{\defcounter {refsection}{0}\relax }\@writefile{toc}{\contentsline {subsection}{\numberline {3.2.2}The ExtractAndMoveMethodPrefixesExtractor Class}{13}}
+\@writefile{toc}{\defcounter {refsection}{0}\relax }\@writefile{toc}{\contentsline {subsection}{\numberline {3.2.3}The Prefix Class}{13}}
+\@writefile{toc}{\defcounter {refsection}{0}\relax }\@writefile{toc}{\contentsline {subsection}{\numberline {3.2.4}The PrefixSet Class}{13}}
+\@writefile{toc}{\defcounter {refsection}{0}\relax }\@writefile{toc}{\contentsline {subsection}{\numberline {3.2.5}Hacking the Refactoring Undo History}{13}}
+\@writefile{tdo}{\defcounter {refsection}{0}\relax }\@writefile{tdo}{\contentsline {todo}{Where to put this section?}{13}}
+\pgfsyspdfmark {pgfid41}{6178078}{9581956}
+\pgfsyspdfmark {pgfid44}{33785118}{9577114}
+\pgfsyspdfmark {pgfid45}{37143838}{9329537}
+\pp@pagectr{footnote}{14}{25}{13}
+\pp@pagectr{footnote}{15}{26}{14}
+\pp@pagectr{footnote}{16}{26}{14}
+\pp@pagectr{footnote}{17}{26}{14}
+\pp@pagectr{footnote}{18}{26}{14}
+\pp@pagectr{footnote}{19}{26}{14}
index 51e212cc1eee3db9c3fe3e289a370dcd1787b6d4..c6851e0777ccc1061fec1bd6e7037371e8679a2a 100644 (file)
Binary files a/thesis/master-thesis-erlenkr.pdf and b/thesis/master-thesis-erlenkr.pdf differ
index 66845b95544926d04d2271af5864fbb6e1a6ca53..e3d30d26c05703dc4ff2355c8b0984658a571f73 100644 (file)
@@ -13,4 +13,6 @@
 \defcounter {refsection}{0}\relax 
 \contentsline {todo}{What about the language specific part?}{9}
 \defcounter {refsection}{0}\relax 
-\contentsline {todo}{Where to put this section?}{11}
+\contentsline {todo}{\dots }{11}
+\defcounter {refsection}{0}\relax 
+\contentsline {todo}{Where to put this section?}{13}
index 2c70f7e93ed403c7a48d0894cdf5022fbbd5c3dc..6e7f47a8b3febb295da6fb11a552df9242fcdf13 100644 (file)
@@ -501,6 +501,25 @@ for the \type{PerformChangeOperation}, the undo change is added into the undo
 history.
 
 \section{Shortcomings}
+This section is introduced naturally with a conclusion: The JDT refactoring 
+implementation does not facilitate composition of refactorings. This section 
+will try to explain why, and also identify other shortcomings of both the 
+usability and the readability of the JDT refactoring source code.
+
+I will begin at the end and work my way toward the composition part of this 
+section.
+
+\subsubsection{Absence of Generics in Eclipse Source Code}
+This section is not only concerning the JDT refactoring API, but also large 
+quantities of the Eclipse source code. The code shows a striking absence of the 
+Java language feature of generics. It is hard to read a class' interface when 
+methods return objects of types such as \type{List} or \type{Map}.  This 
+sometimes results in having to read a lot of source code to understand what is 
+going on, instead of relying on the available interfaces. In addition, it makes 
+the use of typecasting more of a rule than an exception.
+
+\todo{\ldots}
+
 
 \chapter{Composite Refactorings in Eclipse}
 
index 5048be6640ceb6d1829dc14244d68331abac5cf4..0bfbbe98e240aeaa4374c7ff5ba0ae7b4aae560c 100644 (file)
 \defcounter {refsection}{0}\relax 
 \contentsline {section}{\numberline {2.2}Shortcomings}{10}
 \defcounter {refsection}{0}\relax 
-\contentsline {chapter}{\numberline {3}Composite Refactorings in Eclipse}{11}
+\contentsline {subsubsection}{Absence of Generics in Eclipse Source Code}{10}
 \defcounter {refsection}{0}\relax 
-\contentsline {section}{\numberline {3.1}A Simple Ad Hoc Model}{11}
+\contentsline {chapter}{\numberline {3}Composite Refactorings in Eclipse}{13}
 \defcounter {refsection}{0}\relax 
-\contentsline {section}{\numberline {3.2}The Extract and Move Method Refactoring}{11}
+\contentsline {section}{\numberline {3.1}A Simple Ad Hoc Model}{13}
 \defcounter {refsection}{0}\relax 
-\contentsline {subsection}{\numberline {3.2.1}The ExtractAndMoveMethodChanger Class}{11}
+\contentsline {section}{\numberline {3.2}The Extract and Move Method Refactoring}{13}
 \defcounter {refsection}{0}\relax 
-\contentsline {subsection}{\numberline {3.2.2}The ExtractAndMoveMethodPrefixesExtractor Class}{11}
+\contentsline {subsection}{\numberline {3.2.1}The ExtractAndMoveMethodChanger Class}{13}
 \defcounter {refsection}{0}\relax 
-\contentsline {subsection}{\numberline {3.2.3}The Prefix Class}{11}
+\contentsline {subsection}{\numberline {3.2.2}The ExtractAndMoveMethodPrefixesExtractor Class}{13}
 \defcounter {refsection}{0}\relax 
-\contentsline {subsection}{\numberline {3.2.4}The PrefixSet Class}{11}
+\contentsline {subsection}{\numberline {3.2.3}The Prefix Class}{13}
 \defcounter {refsection}{0}\relax 
-\contentsline {subsection}{\numberline {3.2.5}Hacking the Refactoring Undo History}{11}
+\contentsline {subsection}{\numberline {3.2.4}The PrefixSet Class}{13}
+\defcounter {refsection}{0}\relax 
+\contentsline {subsection}{\numberline {3.2.5}Hacking the Refactoring Undo History}{13}