The Object Oriented Refactoring training course teaches students the motivations, pitfalls, and the art of refactoring object oriented solutions. The Object Oriented Refactoring training uses the book Refactoring: Improving the Design of Existing Code as the basis for discussion.
In addition to examining refactoring principles and best practices, the course also teaches students how to perform safe refactoring using Integrated Development Environments like Eclipse, NetBeans and IntelliJ, and a test-first, test-driven process.
It is ideal to combine the Object Oriented Refactoring with the Test-driven Development course.
What You'll Learn
In the Object Oriented Refactoring training course, you’ll learn:
- History, motivations, and the purpose of refactoring
- Principles of refactoring
- Bad smells: Duplicate code, long methods, large classes, data clumps, primitive obsession, middlemen, etc.
- Safe refactoring through tests and IDEs
- Refactoring catalog: Composing methods, moving features between objects, organizing data, simplifying conditional expressions, simplifying method calls, generalizations
- Refactoring best practices, pitfalls, and realities
- Refactoring to patterns
- Case study: Refactoring a model-view-controller architecture
Meet Your Instructor
- Kelby Zorgdrager
Kelby Zorgdrager’s expertise in Java, Open Source, and software development have allowed him to be a guest speaker at JavaOne, Java University, Comdex, IEEE Software Conference, and the Colorado Software Summit.
Kelby has also served as a guest author for both IBM and Sun/Oracle’s developer sites. Furthering his passion to help people learn, Kelby served as a technical editor for the bestselling book, Advanced Java: How to Program,...Simon
Simon has over 15 years of experience defining, developing, and delivering software development training programs.
As a senior instructor and courseware developer for Sun Microsystems, Simon developed and delivered Java training courses for Sun Educational Services’ internal and external customers. While at Sun, he was a guest presenter at JavaOne, Java University, and other software trade shows. Simon’s most significant accolade was his work as the development lead in the design, development,...Jean
Jean brings years of development experience into her teaching, making the learning experience practical for her students. Originally a Smalltalk developer, Jean has an expansive knowledge of object-oriented (OO) development, analysis, and design. Jean has worked in every stage of the software development process for a variety of businesses – from small non-profits, to government agencies, to global enterprises.
Jean was also one of the top instructors at Sun Microsystems in North America and Europe....Michael
Michael owns and operates Inkling Research, a consulting group of technical specialists. His work experience includes systems administration, application and operating system development, and the design and deployment of several network and storage-based systems. Michael is a seasoned instructor with 18 years experience in training, course development, mentoring, and practice management. His educational credentials include a B.A. from UC Davis, an M.A from Kent State University, and doctoral coursework at Claremont...Michael
Michael is a practicing software developer, course developer, and trainer with DevelopIntelligence. For the majority of his career, Michael has designed and implemented large-scale, enterprise-grade, Java-based applications at major telecommunications and Internet companies, such as Level3 Communications, US West/Qwest/Century Link, Orbitz, and others.
Michael has a passion for learning new technologies, patterns, and paradigms (or, he has a tendency to get bored or disappointed with current ones)....