Refactoring with Eclipse
|
|
- Kory Hoover
- 6 years ago
- Views:
Transcription
1 Refactoring with Eclipse Seng 371 Lab 8 By Bassam Sayed Based on IBM article Explore refactoring functions in Eclipse JDT by Prashant Deva
2 Code Refactoring Code refactoring is a disciplined way to restructure code. [wikipedia] Refactoring process consists of a series of refactorings each of which is (usually) a tiny change in the source code that doesn t modify its functional requirements. [wikipedia] Usually refactoring is motivated by noticing a code problem (smell). For example, very long functions or a near duplicate of another method.
3 Refactoring Benefits Maintainability: It is easier to fix bugs when the source code is easy to read and understand. Extensibility: It is easier to extend the capabilities of the application if it uses recognizable design patterns, and it provides some flexibility where none before may have existed [Kerievsky, Joshua (2004). Refactoring to Patterns] It is recommended that before starting the refactoring process a set of unit tests get performed on the source code to demonstrate the correctness of the module. Then this process is repeated with every small change.
4 Refactoring Techniques Some examples of refactoring techniques: Techniques that allow for more abstraction such as Field Encapsulation (forcing the code to access the fields with setters and getters) Techniques for breaking code apart into more logical pieces such as extracting methods and extracting classes. Techniques for improving names and location of code such as moving methods and fields, renaming methods and fields. Pull Up and Push Down in OOP programming.
5 JDT Rename: It allows renaming of variables, classes, methods, packages, folders, and almost any Java identifiers. When you rename an identifier, all references to that identifier are also renamed. Shortcut Alt+Shift +R. Move: You can use Move to move a class from one package to another. It physically moves the class to the folder corresponding to the package and also changes all references to the class to refer to the new package. You can drag and drop a class to a new package in the Package Explorer view, and the refactoring will take place automatically.
6 JDT (Cont.) Extract Local Variable: Allows assigning the result of a java expression to a new local variable. Useful when writing a complex expression by quickly dividing it into multiple lines. To use it press Ctrl+1 and select assign statement to a local variable. Convert local variable to field: takes a local variable and converts it to a private field of the class. All references to the local variable after this refer to the field. To use it press Ctrl+1 and select convert local variable to field
7 JDT (Cont.) Convert Anonymous Class to Nested: takes an anonymous class and converts it to a nested class of the method that originally contained the anonymous class. To use select Refactor > Convert Anonymous Class to Nested while the cursor is inside the anonymous class.
8 Convert Anonymous Class to Nested Example void createpool() { threadpool = Executors.newFixedThreadPool(1, new ThreadFactory() public Thread newthread(runnable r) { Thread t = new Thread(r); t.setname("worker thread"); t.setpriority(thread.min_priority); t.setdaemon(true); return t; } }); }
9 Convert Anonymous Class to Nested Example private final class MyThreadFactory implements public Thread newthread(runnable r) { Thread t = new Thread(r); t.setname("worker thread"); t.setpriority(thread.min_priority); t.setdaemon(true); return t; } } void createpool(){ threadpool = Executors.newFixedThreadPool(1, new MyThreadFactory()); }
10 JDT (Cont.) Convert Member Type to Top Level: takes a nested class and converts it to a top-level class with its own Java file. To use place cursor inside the nested class and select Refactor > Convert Member Type to Top Level. If the nested class is a static class, a box showing a preview of the refactoring displays right away. If it is not a static class, you first need to declare the name of the field that will hold the reference to the parent class of the nested class before you get to the preview box.
11 JDT (Cont.) Extract Interface: makes an interface out of the methods defined in a class. To use this refactoring, select Refactor > Extract Interface from the menu. A dialog box displays, requesting the name of the new interface. You can check the methods from the class that will be declared in the interface.
12 JDT (Cont.) Extract Superclass: It is similar to the Extract Interface refactoring described earlier. However, the Extract Superclass extracts a superclass instead of an interface. If the class already uses a superclass, the newly generated superclass will have that class as its superclass, maintaining the class hierarchy. To use this refactoring, make sure your cursor is on one of the method declarations or fields of the class and select Refactor > Extract Superclass. A huge difference between extracting a superclass and extracting an interface is that the methods put in the superclass are actually moved there. So, if any of those methods contain references to any fields in the original class, you get a compiler error.
13 JDT (Cont.) Extract Method: The Extract Method refactoring allows you to select a block of code and convert it to a method. Eclipse automatically infers the method arguments and return types. This is useful when a method is too big and you want to subdivide blocks of it into different methods. It is also useful if you have a piece of code that is reused across many methods. When you select one of those blocks of code and do a refactoring, Eclipse finds other occurrences of that block of code and replaces it with a call to the new method.
14 JDT (Cont.) Extract Method: To use this refactoring, select a block of code in the editor and press Alt+Shift+M. A dialog box displays, requesting the name and visibility (public, private, protected, or default) of the new method. You can even change the parameters and return types.
15 Extract Method Example public Object get(object key) { TimedKey timedkey = new TimedKey(System.currentTimeMillis(), key); Object object = map.get(timedkey); if (object!= null) { /** * if this was removed after the 'get' call by the worker thread * put it back in */ map.put(timedkey, object); return object; } } return null;
16 Extract Method Example public Object get(object key) { TimedKey timedkey = new TimedKey(System.currentTimeMillis(), key); Object object = map.get(timedkey); } return putifnotnull(timedkey, object); private Object putifnotnull(timedkey timedkey, Object object) { if (object!= null) { /** * if this was removed after the 'get' call by the worker thread * put it back in */ map.put(timedkey, object); return object; } } return null;
17 JDT (Cont.) Inline: The Inline refactoring can inline a reference to a variable or method. When used, it replaces the reference to the variable or method with the value assigned to the variable or the implementation of the method, respectively. This can be useful for cleaning up your code in the following situations: When a method is called only once by another method, and it makes more sense as a block of code. When an expression looks cleaner on one line, rather than split into multiple lines by assigning values to different variables.
18 Inline Example //Before Inline refactoring public Object put(object key, Object value) { TimedKey timedkey = new TimedKey(System.currentTimeMillis(), key); return map.put(timedkey, value); } //After Inline refactoring public Object put(object key, Object value) { return map.put(new TimedKey(System.currentTimeMillis(), key), value); }
19 JDT (Cont.) Change Method Signature: The Change Method Signature refactoring allows you to change the signature of a method. It modifies all calls to that method to use the new signature. To use this refactoring, select Refactor > Change Method Signature. The dialog box shown in the next Figure, allowing you to change everything about the method, including adding or removing parameters, changing the order of the parameters, changing the return value type, adding exceptions to the declaration of the method, and even changing the name of the method.
20
21 JDT (Cont.) Infer Generic Type Arguments: The Infer Generic Type Arguments refactoring automatically tries to guess the appropriate generic types for classes used in their raw form. This refactoring is generally used to convert pre-java 5 code to Java 5 and later code. This refactoring can even be invoked from the Package Explorer. Simply right-click on any project, package, or class in the Package Explorer and select Refactor > Infer Generic Type Arguments.
22 Infer Generic Type Arguments Example //Before refactoring private final ConcurrentHashMap map = new ConcurrentHashMap(); //After refactoring private final ConcurrentHashMap<TimedKey, Object> map = new ConcurrentHashMap<TimedKey, Object>();
23 JDT (Cont.) Migrate JAR File: The Migrate JAR File refactoring allows you to easily upgrade Java Archive (JAR) files on a project's build path. The Migrate JAR File refactoring allows you to do this in one step. To invoke the refactoring, select Refactor > Migrate Jars. In the dialog box that displays, select the location of the new JAR file. In the tree below, select the JAR from the project that will be upgraded to the new version. If you select the Replace Jar file contents but preserve existing filename checkbox, the new JAR file is renamed to match the name of the old JAR file, thus not breaking any build scripts that refer to the JAR file by that name. In any case, when you click Finish, the previous JAR file is deleted, and the new JAR file is copied to its location and automatically added to the project's build path, making your project use the new JAR file.
24 JDT (Cont.) Refactoring scripts: Refactoring scripts allow you to export and share refactoring actions. This is extremely useful when you are about to distribute a new version of a library that can cause errors for people using the older version. To create a refactoring script, go to Refactor > Create Script. The window shown in the next Figure, showing the history of all the refactorings that have been performed in the workspace. Select the ones you need, specify a location for the script to be generated, then click Create to generate the script.
25
26 JDT (Cont.) Refactoring Script: To apply an existing refactoring script to your workspace, select Refactor > Apply Script. In the dialog box that displays, select the location of the script. Click Next to see the refactorings that this script will perform, then click Finish to apply the refactorings.
Tutorial 02: Writing Source Code
Tutorial 02: Writing Source Code Contents: 1. Generating a constructor. 2. Generating getters and setters. 3. Renaming a method. 4. Extracting a superclass. 5. Using other refactor menu items. 6. Using
More informationOverview of Eclipse Lectures. Module Road Map
Overview of Eclipse Lectures 1. Overview 2. Installing and Running 3. Building and Running Java Classes 4. Refactoring Lecture 2 5. Debugging 6. Testing with JUnit 7. Version Control with CVS 1 Module
More informationSoftware Design COSC 4353/6353 D R. R A J S I N G H
Software Design COSC 4353/6353 D R. R A J S I N G H Week 5 Refactoring What is Refactoring? Code Smells Why Refactoring? Techniques IDEs What is Refactoring? Art of improving the design of existing code
More informationLab Exercise Refactoring using Eclipse
Lunds tekniska högskola Datavetenskap, Nov, 2017 Torbjörn Ekman and Görel Hedin (Modified from cvs to git by Ulf Asklund) EDAF45 Programvaruutveckling i grupp projekt Lab Exercise Refactoring using Eclipse
More informationCarrera: Analista de Sistemas/Licenciatura en Sistemas. Asignatura: Programación Orientada a Objetos
Carrera: / Asignatura: Programación Orientada a Objetos REFACTORING EXERCISE WITH ECLIPSE - 2008- Observation: This refactoring exercise was extracted of the web site indicated in the section Reference
More informationIntroduction to Eclipse
Introduction to Eclipse Ed Gehringer Using (with permission) slides developed by Dwight Deugo (dwight@espirity.com) Nesa Matic (nesa@espirity.com( nesa@espirity.com) Sreekanth Konireddygari (IBM Corp.)
More informationObjectives: On completion of this project the student should be able to:
ENGI-0655/5232 Software Construction and Evolution Project 1 Reverse Engineering Refactoring & Object Oriented Design Due date November 10, 2009-4:00 pm 1. Aims The aim of this project is to give you more
More informationRefactoring. Refactoring Techniques
Refactoring Refactoring Techniques Code Quality is Important! Refactoring is... A disciplined technique for restructuring an existing body of code, altering its internal structure without changing its
More informationNews in RSA-RTE 10.2 updated for sprint Mattias Mohlin, May 2018
News in RSA-RTE 10.2 updated for sprint 2018.18 Mattias Mohlin, May 2018 Overview Now based on Eclipse Oxygen.3 (4.7.3) Contains everything from RSARTE 10.1 and also additional features and bug fixes See
More informationChapter 6 Introduction to Defining Classes
Introduction to Defining Classes Fundamentals of Java: AP Computer Science Essentials, 4th Edition 1 Objectives Design and implement a simple class from user requirements. Organize a program in terms of
More informationWhat is Eclipse? A free copy can be downloaded at:
Using Eclipse What is Eclipse? The Eclipse Platform is an open source IDE (Integrated Development Environment), created by IBM for developing Java programs. Eclipse is now maintained by the Eclipse Foundation,
More informationUsing Eclipse Europa - A Tutorial
Abstract Lars Vogel Version 0.7 Copyright 2007 Lars Vogel 26.10.2007 Eclipse is a powerful, extensible IDE for building general purpose applications. One of the main applications
More informationEclipse Tips and Tricks (JDT)
Eclipse Tips and Tricks (JDT) Editing source Content assist Content assist provides you with a list of suggested completions for partially entered strings. In the Java editor press Ctrl+Space or invoke
More informationUnderstading Refactorings
Understading Refactorings Ricardo Terra terra@dcc.ufmg.br Marco Túlio Valente mtov@dcc.ufmg.br UFMG, 2010 UFMG, 2010 Understanding Refactorings 1 / 36 Agenda 1 Overview 2 Refactoring 3 Final Considerations
More informationChapter 5 Object-Oriented Programming
Chapter 5 Object-Oriented Programming Develop code that implements tight encapsulation, loose coupling, and high cohesion Develop code that demonstrates the use of polymorphism Develop code that declares
More informationNews in RSA-RTE 10.1 updated for sprint Mattias Mohlin, November 2017
News in RSA-RTE 10.1 updated for sprint 2017.46 Mattias Mohlin, November 2017 Overview Now based on Eclipse Neon.3 (4.6.3) Many general improvements since Eclipse Mars Contains everything from RSARTE 10
More informationCHAPTER 3. Using Java Development Tools
CHAPTER 3 Using Java Development Tools Eclipse provides a first-class set of Java Development Tools (JDT) for developing, running, and debugging Java code. These tools include perspectives, project definitions,
More informationSpringSource Tool Suite 2.7.1
SpringSource Tool Suite 2.7.1 - New and Noteworthy - Martin Lippert 2.7.1 July 12, 2011 Updated for 2.7.1.RELEASE ENHANCEMENTS 2.7.1 General Updates Spring Roo 1.1.5 STS now ships and works with the just
More informationJust Enough Eclipse What is Eclipse(TM)? Why is it important? What is this tutorial about?
Just Enough Eclipse What is Eclipse(TM)? Eclipse is a kind of universal tool platform that provides a feature-rich development environment. It is particularly useful for providing the developer with an
More informationNoopur Gupta Eclipse JDT/UI Committer IBM India
Noopur Gupta Eclipse JDT/UI Committer IBM India noopur_gupta@in.ibm.com 1 2 3 Show Workspace Location in the Title Bar (-showlocation) OR 4 Show Workspace Name in the Title Bar (Window > Preferences >
More informationThis cheat sheet is aimed at people with some experience in eclipse but who may not be aware of many of its features.
ECLIPSE CHEAT SHEET This cheat sheet is aimed at people with some experience in eclipse but who may not be aware of many of its features. SHORTCUTS These are some of the most useful shortcuts in eclipse.
More informationHow We Refactor, and How We Know It
Emerson Murphy-Hill, Chris Parnin, Andrew P. Black How We Refactor, and How We Know It Urs Fässler 30.03.2010 Urs Fässler () How We Refactor, and How We Know It 30.03.2010 1 / 14 Refactoring Definition
More informationGETTING STARTED WITH ECLIPSE Caitrin Armstrong
GETTING STARTED WITH ECLIPSE Caitrin Armstrong 1 THE ECLIPSE IDE IDE = Integrated Development Environment Language-neutral: Java, C, HTML, Powerful, advanced features that help with code development (e.g.
More informationDVT Eclipse IDE. My First Verilog/SystemVerilog Project
DVT Eclipse IDE My First Verilog/SystemVerilog Project 1 Switch to the DVT Perspective from menu Window > Open Perspective > Other... > DVT The DVT Perspective presents different Views (GUI components)
More information6.170 Laboratory in Software Engineering Eclipse Reference for 6.170
6.170 Laboratory in Software Engineering Eclipse Reference for 6.170 Contents: CVS in Eclipse o Setting up CVS in Your Environment o Checkout the Problem Set from CVS o How Do I Add a File to CVS? o Committing
More informationManaging Your Website with Convert Community. My MU Health and My MU Health Nursing
Managing Your Website with Convert Community My MU Health and My MU Health Nursing Managing Your Website with Convert Community LOGGING IN... 4 LOG IN TO CONVERT COMMUNITY... 4 LOG OFF CORRECTLY... 4 GETTING
More informationPART 1. Eclipse IDE Tutorial. 1. What is Eclipse? Eclipse Java IDE
PART 1 Eclipse IDE Tutorial Eclipse Java IDE This tutorial describes the usage of Eclipse as a Java IDE. It describes the installation of Eclipse, the creation of Java programs and tips for using Eclipse.
More informationAdapting JDT to the Cloud. Alex Boyko Pivotal Jay Arthanareeswaran - IBM John Arthorne - IBM
Adapting JDT to the Cloud Alex Boyko Pivotal Jay Arthanareeswaran - IBM John Arthorne - IBM Topics Background and motivation Adapting JDT code base to run in cloud Incorporating Java tooling in Web IDEs
More informationNews in RSA-RTE 10.1 updated for sprint Mattias Mohlin, January 2018
News in RSA-RTE 10.1 updated for sprint 2018.03 Mattias Mohlin, January 2018 Overview Now based on Eclipse Neon.3 (4.6.3) Many general improvements since Eclipse Mars Contains everything from RSARTE 10
More informationSpringSource Tool Suite M2
SpringSource Tool Suite 2.7.0.M2 - New and Noteworthy - Martin Lippert 2.7.0.M2 June 13, 2011 Updated for 2.7.0.M2 ENHANCEMENTS 2.7.0.M2 General Updates Memory Settings We raised the default memory settings
More information2.4 Structuring programs
2.4 Structuring programs While theoretically a program could be written as one big expression, in reality we want some structure so that l The programmer has it easier to read the program l A compiler
More informationSoftware Development. Modular Design and Algorithm Analysis
Software Development Modular Design and Algorithm Analysis Data Encapsulation Encapsulation is the packing of data and functions into a single component. The features of encapsulation are supported using
More informationDAT159 Refactoring (Introduction)
DAT159 Refactoring (Introduction) Volker Stolz 1, with contributions by: Larissa Braz 2, Anna M. Eilertsen 3, Fernando Macías 1, Rohit Gheyi 2 Western Norway University of Applied Sciences, Universidade
More informationAdvancing Clangd. Bringing persisted indexing to Clang tooling. Marc-André Laperle, Ericsson
Advancing Clangd Bringing persisted indexing to Clang tooling Marc-André Laperle, Ericsson AGENDA 1 Introductions 2 3 The road to persisted indexing 4 Current state 5 What s new in Clangd Future and challenges
More informationProgramming Kotlin. Familiarize yourself with all of Kotlin s features with this in-depth guide. Stephen Samuel Stefan Bocutiu BIRMINGHAM - MUMBAI
Programming Kotlin Familiarize yourself with all of Kotlin s features with this in-depth guide Stephen Samuel Stefan Bocutiu BIRMINGHAM - MUMBAI Programming Kotlin Copyright 2017 Packt Publishing First
More informationUse this document to quickly review the steps needed to get the most out of your Gmail account.
The How to Dos of Gmail Overview Page 1 Gmail offers tremendous functionality to make your email easier to use. This job aid provides the step-by-step instructions that are presented at the end of every
More informationMoving to Altium Designer from Protel 99 SE. Contents
Moving to Altium Designer from Protel 99 SE Contents Design Database Become a Design Workspace & Projects Importing a 99 SE Design Database Creating the Altium Designer Project(s) Manually Adding and Removing
More informationObject Oriented Features. Inheritance. Inheritance. CS257 Computer Science I Kevin Sahr, PhD. Lecture 10: Inheritance
CS257 Computer Science I Kevin Sahr, PhD Lecture 10: Inheritance 1 Object Oriented Features For a programming language to be called object oriented it should support the following features: 1. objects:
More informationJava Object Oriented Design. CSC207 Fall 2014
Java Object Oriented Design CSC207 Fall 2014 Design Problem Design an application where the user can draw different shapes Lines Circles Rectangles Just high level design, don t write any detailed code
More informationProgramming overview
Programming overview Basic Java A Java program consists of: One or more classes A class contains one or more methods A method contains program statements Each class in a separate file MyClass defined in
More informationRefactoring. Paul Jackson. School of Informatics University of Edinburgh
Refactoring Paul Jackson School of Informatics University of Edinburgh Refactoring definition Refactoring (noun) is a change made to the internal structure of software to make it easier to understand,
More informationZhifu Pei CSCI5448 Spring 2011 Prof. Kenneth M. Anderson
Zhifu Pei CSCI5448 Spring 2011 Prof. Kenneth M. Anderson Introduction History, Characteristics of Java language Java Language Basics Data types, Variables, Operators and Expressions Anatomy of a Java Program
More informationAutomating Big Refactorings for Componentization and the Move to SOA
Automating Big Refactorings for Componentization and the Move to SOA IBM Programming Languages and Development Environments Seminar 2008 Aharon Abadi, Ran Ettinger and Yishai Feldman Software Asset Management
More informationJava for Programmers Course (equivalent to SL 275) 36 Contact Hours
Java for Programmers Course (equivalent to SL 275) 36 Contact Hours Course Overview This course teaches programmers the skills necessary to create Java programming system applications and satisfies the
More informationCompaq Interview Questions And Answers
Part A: Q1. What are the difference between java and C++? Java adopts byte code whereas C++ does not C++ supports destructor whereas java does not support. Multiple inheritance possible in C++ but not
More informationAbout the Tutorial. Audience. Prerequisites. Copyright & Disclaimer
i About the Tutorial Eclipse is an integrated development environment (IDE) for Java and other programming languages like C, C++, PHP, and Ruby etc. Development environment provided by Eclipse includes
More informationNews in RSA-RTE 10.1 updated for sprint Mattias Mohlin, July 2017
News in RSA-RTE 10.1 updated for sprint 2017.28 Mattias Mohlin, July 2017 Overview Now based on Eclipse Neon.3 (4.6.3) Many general improvements since Eclipse Mars Contains everything from RSARTE 10 and
More informationImplementing evolution: Refactoring
2IS55 Software Evolution Implementing evolution: Refactoring Alexander Serebrenik Sources / SET / W&I 5-6-2012 PAGE 1 Last week How to implement evolution Last week: evolution strategies and decision making
More informationCourse December Adrian Iftene
Course 10 12 December 2016 Adrian Iftene adiftene@info.uaic.ro Recapitulation QoS Functional Testing Non-Functional Testing Rotting Design Refactoring 2 QoS = ability to provide different priority to different
More informationThe$credit$for$crea-ng$these$slides$belongs$to$ Fall$2014$CS$521/621$students.$$Student$names$ have$been$removed$per$ferpa$regula-ons.
The$credit$for$crea-ng$these$slides$belongs$to$ Fall$2014$CS$521/621$students.$$Student$names$ have$been$removed$per$ferpa$regula-ons.$ Refactoring With Synthesis Refactoring and Synthesis Refactoring
More informationImplementing evolution: Refactoring
2IS55 Software Evolution Sources Implementing evolution: Refactoring Alexander Serebrenik / SET / W&I 17-5-2010 PAGE 1 Last week Problem: changing code is difficult Assignment 6 Deadline: Today Assignment
More informationCMSC 132: Object-Oriented Programming II
CMSC 132: Object-Oriented Programming II Java Support for OOP Department of Computer Science University of Maryland, College Park Object Oriented Programming (OOP) OO Principles Abstraction Encapsulation
More informationUnit3: Java in the large. Prepared by: Dr. Abdallah Mohamed, AOU-KW
Prepared by: Dr. Abdallah Mohamed, AOU-KW 1 1. Introduction 2. Objects and classes 3. Information hiding 4. Constructors 5. Some examples of Java classes 6. Inheritance revisited 7. The class hierarchy
More informationCPS 506 Comparative Programming Languages. Programming Language
CPS 506 Comparative Programming Languages Object-Oriented Oriented Programming Language Paradigm Introduction Topics Object-Oriented Programming Design Issues for Object-Oriented Oriented Languages Support
More informationRefactorings. Refactoring. Refactoring Strategy. Demonstration: Refactoring and Reverse Engineering. Conclusion
Refactorings Refactoring What is it? Why is it necessary? Examples Tool support Refactoring Strategy Code Smells Examples of Cure Demonstration: Refactoring and Reverse Engineering Refactor to Understand
More informationHomework #10 due Monday, April 16, 10:00 PM
Homework #10 due Monday, April 16, 10:00 PM In this assignment, you will re-implement Dictionary as Map container class using the same data structure. A Map has an associated entry set and that set will
More informationvoid printowing(double amount) { printbanner(); printdetails(); void printdetails(double amount) {
Refactoring References: Martin Fowler, Refactoring: Improving the Design of Existing Code; ; Bruce Wampler, The Essence of Object-Oriented Oriented Programming with Java and UML A recent OO technique that
More informationBasic Keywords Practice Session
Basic Keywords Practice Session Introduction In this article from my free Java 8 course, we will apply what we learned in my Java 8 Course Introduction to our first real Java program. If you haven t yet,
More informationChapter 4 Java Language Fundamentals
Chapter 4 Java Language Fundamentals Develop code that declares classes, interfaces, and enums, and includes the appropriate use of package and import statements Explain the effect of modifiers Given an
More informationWhat are the characteristics of Object Oriented programming language?
What are the various elements of OOP? Following are the various elements of OOP:- Class:- A class is a collection of data and the various operations that can be performed on that data. Object- This is
More informationRecap: Class Diagrams
Com S 362: Object-Oriented Analysis and Design Recap: Class Diagrams Class diagrams represent design structure Three parts: name, attribute, operations Visibility, attribute type, multiplicity Association,
More informationNews in RSA-RTE 10.2 updated for sprint Mattias Mohlin, January 2018
News in RSA-RTE 10.2 updated for sprint 2018.03 Mattias Mohlin, January 2018 Overview Now based on Eclipse Oxygen.2 (4.7.2) Contains everything from RSARTE 10.1 and also additional features and bug fixes
More informationCSCI 1301: Introduction to Computing and Programming Summer 2018 Lab 07 Classes and Methods
Introduction This lab introduces you to additional concepts of Object Oriented Programming (OOP), arguably the dominant programming paradigm in use today. In the paradigm, a program consists of component
More informationA Catalog and Classification of Fortran Refactorings
A Catalog and Classification of Fortran Refactorings Mariano Méndez 1, Jeffrey Overbey 2, Alejandra Garrido 1,, Fernando G. Tinetti 1,, and Ralph Johnson 2 1 Fac. de Informática, Universidad Nacional de
More informationNews in RSA-RTE 10.1 updated for sprint Mattias Mohlin, April 2017
News in RSA-RTE 10.1 updated for sprint 2017.16 Mattias Mohlin, April 2017 Overview Now based on Eclipse Neon.3 (4.6.3) Many general improvements since Eclipse Mars Contains everything from RSARTE 10 and
More informationIndex. Symbols. /**, symbol, 73 >> symbol, 21
17_Carlson_Index_Ads.qxd 1/12/05 1:14 PM Page 281 Index Symbols /**, 73 @ symbol, 73 >> symbol, 21 A Add JARs option, 89 additem() method, 65 agile development, 14 team ownership, 225-226 Agile Manifesto,
More informationGetting Started with Eclipse for Java
Getting Started with Eclipse for Java Maria Litvin Phillips Academy, Andover, Massachusetts Gary Litvin Skylight Publishing 1. Introduction 2. Downloading and Installing Eclipse 3. Importing and Exporting
More informationWORLD FIRST. In our first ever Flash MX 2004 tutorial, we take a look at the new ease-of-use features that can turn anyone into a Flash guru.
ART90.flash 14/10/03 3:27 pm Page 24 Tutorial WORLD FIRST In our first ever Flash MX 2004 tutorial, we take a look at the new ease-of-use features that can turn anyone into a Flash guru ILLUSTRATION BY
More informationLaboratory Assignment #3 Eclipse CDT
Lab 3 September 12, 2010 CS-2303, System Programming Concepts, A-term 2012 Objective Laboratory Assignment #3 Eclipse CDT Due: at 11:59 pm on the day of your lab session To learn to learn to use the Eclipse
More informationIndex. Bitwise operations, 131. Cloud, 88, 101
Index A Analysis, NetBeans batch analyzers, 127 dynamic code analysis, 128 Java 8 lambda expressions, 127 static code analysis definition, 128 FindBugs categories, 144 Inspect & Transform tool, 129 inspections,
More informationObject Oriented Programming: In this course we began an introduction to programming from an object-oriented approach.
CMSC 131: Chapter 28 Final Review: What you learned this semester The Big Picture Object Oriented Programming: In this course we began an introduction to programming from an object-oriented approach. Java
More informationModule Road Map. 7. Version Control with Subversion Introduction Terminology
Module Road Map 1. Overview 2. Installing and Running 3. Building and Running Java Classes 4. Refactoring 5. Debugging 6. Testing with JUnit 7. Version Control with Subversion Introduction Terminology
More informationProgramming II (CS300)
1 Programming II (CS300) Chapter 05: Inheritance and Interfaces MOUNA KACEM mouna@cs.wisc.edu Fall 2018 Inheritance and Interfaces 2 Introduction Inheritance and Class Hierarchy Polymorphism Abstract Classes
More informationCHAPTER 6 ACTIONS, METHODS, REFACTORING
VERSION 1 CHAPTER 6 In this chapter we cover ACTIONS in more depth and show how to easily create additional actions in a script by using a technique known as REFACTORING. The chapter covers two forms of
More informationInheritance and Substitution (Budd chapter 8, 10)
Inheritance and Substitution (Budd chapter 8, 10) 1 2 Plan The meaning of inheritance The syntax used to describe inheritance and overriding The idea of substitution of a child class for a parent The various
More informationGame Design Unity Workshop
Game Design Unity Workshop Activity 1 Unity Overview Unity is a game engine with the ability to create 3d and 2d environments. Unity s prime focus is to allow for the quick creation of a game from freelance
More informationObject Oriented Programming. Week 1 Part 3 Writing Java with Eclipse and JUnit
Object Oriented Programming Part 3 Writing Java with Eclipse and JUnit Today's Lecture Test Driven Development Review (TDD) Building up a class using TDD Adding a Class using Test Driven Development in
More informationClasses and Objects 3/28/2017. How can multiple methods within a Java class read and write the same variable?
Peer Instruction 8 Classes and Objects How can multiple methods within a Java class read and write the same variable? A. Allow one method to reference a local variable of the other B. Declare a variable
More informationCOURSE 11 DESIGN PATTERNS
COURSE 11 DESIGN PATTERNS PREVIOUS COURSE J2EE Design Patterns CURRENT COURSE Refactoring Way refactoring Some refactoring examples SOFTWARE EVOLUTION Problem: You need to modify existing code extend/adapt/correct/
More informationUser Guide Zend Studio for Eclipse V6.1
User Guide Zend Studio for Eclipse V6.1 By Zend Technologies, Inc. www.zend.com Disclaimer The information in this help is subject to change without notice and does not represent a commitment on the part
More informationSpringSource Tool Suites M3
SpringSource Tool Suites 3.0.0.M3 - New and Noteworthy - Martin Lippert 3.0.0.M3 July 9, 2012 Updated for 3.0.0.M3 ENHANCEMENTS 3.0.0.M3 General Updates Distribution based on Eclipse Juno (4.2.0) STS now
More informationAdding Existing Source Code in NetBeans CS288, Autumn 2005 Lab 002
Adding Existing Source Code in NetBeans CS288, Autumn 2005 Lab 002 Purpose This document will show how to incorporate existing source code within a NetBeans project. It will also introduce the concept
More informationUsing Eclipse for Java. Using Eclipse for Java 1 / 1
Using Eclipse for Java Using Eclipse for Java 1 / 1 Using Eclipse IDE for Java Development Download the latest version of Eclipse (Eclipse for Java Developers or the Standard version) from the website:
More informationEvolving Software. CMSC 433 Programming Language Technologies and Paradigms Spring Example. Some Motivations for This Refactoring
CMSC 433 Programming Language Technologies and Paradigms Spring 2007 Refactoring April 24, 2007 Lots of material taken from Fowler, Refactoring: Improving the Design of Existing Code 1 Evolving Software
More informationCSCI 1301: Introduction to Computing and Programming Spring 2019 Lab 10 Classes and Methods
Note: No Brainstorm this week. This lab gives fairly detailed instructions on how to complete the assignment. The purpose is to get more practice with OOP. Introduction This lab introduces you to additional
More informationRefactoring Practice: How it is and How it Should be Supported
Refactoring Practice: How it is and How it Should be Supported Zhenchang Xing and EleniStroulia Presented by: Sultan Almaghthawi 1 Outline Main Idea Related Works/Literature Alignment Overview of the Case
More informationHPE Security Fortify Plugins for Eclipse Software Version: Installation and Usage Guide
HPE Security Fortify Plugins for Eclipse Software Version: 16.10 Installation and Usage Guide Document Release Date: April 2016 Software Release Date: April 2016 Legal Notices Warranty The only warranties
More informationRational Functional Tester - Tips and Tricks
IBM Rational Software Development Conference 2006 Rational Functional Tester - Tips and Tricks Suma Byrappa IBM Rational Swathi Rao 2006 IBM Corporation Agenda IBM Rational Software Development Conference
More informationStruts Tools Reference Guide. Version: beta1
Struts Tools Reference Guide Version: 3.0.0.beta1 1. Introduction... 1 1.1. Key Features of Struts Tools... 1 1.2. Other relevant resources on the topic... 2 2. Projects... 3 2.1. Creating a New Struts
More informationPROGRAMMING LANGUAGE 2
31/10/2013 Ebtsam Abd elhakam 1 PROGRAMMING LANGUAGE 2 Java lecture (7) Inheritance 31/10/2013 Ebtsam Abd elhakam 2 Inheritance Inheritance is one of the cornerstones of object-oriented programming. It
More informationAdministrivia. Programming Language Fall Example. Evolving Software. Project 3 coming out Midterm October 28. Refactoring October 14, 2004
CMSC 433 Programming Language Fall 2004 Project 3 coming out Midterm October 28 Administrivia Refactoring October 14, 2004 Lots of material taken from Fowler, Refactoring: Improving the Design of Existing
More informationCMPSCI 187 / Spring 2015 Implementing Sets Using Linked Lists
CMPSCI 187 / Spring 2015 Implementing Sets Using Linked Lists Due on Tuesday February 24, 2015, 8:30 a.m. Marc Liberatore and John Ridgway Morrill I N375 Section 01 @ 10:00 Section 02 @ 08:30 1 CMPSCI
More informationInstallation and Upgrade Guide Zend Studio 7.0
Installation and Upgrade Guide Zend Studio 7.0 By Zend Technologies, Inc. www.zend.com Table of Contents System Requirements... 3 Installing Zend Studio... 4 Migrating to Zend Studio 7.x from Zend Studio
More information12 Duplicate Clips and Virtual Clips
12 Duplicate Clips and Virtual Clips Duplicate clips and virtual clips are two powerful tools for assembling a video program in Premiere. Duplicate clips can be useful for splitting clips into a number
More informationJSF Tools Reference Guide. Version: M5
JSF Tools Reference Guide Version: 3.3.0.M5 1. Introduction... 1 1.1. Key Features of JSF Tools... 1 2. 3. 4. 5. 1.2. Other relevant resources on the topic... 2 JavaServer Faces Support... 3 2.1. Facelets
More informationGetting Started with Eclipse for Java
Getting Started with Eclipse for Java Maria Litvin Phillips Academy, Andover, Massachusetts Gary Litvin Skylight Publishing 1. Introduction 2. Downloading and Installing Eclipse 3. Importing and Exporting
More informationIntroduction to Object-Oriented Programming
Polymorphism 1 / 19 Introduction to Object-Oriented Programming Today we ll learn how to combine all the elements of object-oriented programming in the design of a program that handles a company payroll.
More informationObject Oriented Programming is a programming method that combines: Advantage of Object Oriented Programming
Overview of OOP Object Oriented Programming is a programming method that combines: a) Data b) Instructions for processing that data into a self-sufficient object that can be used within a program or in
More informationRefactoring Practice: How it is and How it Should be Supported An Eclipse Case Study Abstract Introduction
Refactoring Practice: How it is and How it Should be Supported An Eclipse Case Study Zhenchang Xing and Eleni Stroulia Computing Science Department University of Alberta Edmonton AB, T6G 2H1, Canada {xing,stroulia}@cs.ualberta.ca
More informationThe kdissert handbook
The kdissert handbook Thomas Nagy tnagy256@yahoo.fr October 21, 2005 Contents 1 Introduction 2 1.1 Multi-purpose document generator............... 2 1.2 Mind-mapping tool........................ 2 1.3
More information