Home
- Enterprise Training

- Agile Software Development

- Technical

- Refactoring Methods and Techniques

Refactoring Methods and Techniques

Clock
Lenght

3 Days

Clipboard
Prerequisites

Agile/Scrum Developer Boot Camp or equivalent programming experience in Java, C#.NET, or Python

Refactoring is a philosophy and a set of methods to change the internal structure of code without changing any of its external behavior. Refactoring leads to enhanced internal stability through reduced opportunities for defects, increased performance and significantly better design.

Course description

Refactoring is a philosophy and a set of methods to change the internal structure of code without changing any of its external behavior. Refactoring leads to enhanced internal stability through reduced opportunities for defects, increased performance and significantly better design.


This fully interactive and hands on course lets participants look at their old code and coding techniques again through new eyes. Novices and experienced developers alike will be taken through the concepts and practices of refactoring, including getting their hands dirty with the most popular and practical tools and techniques. Participants will learn the essentials of cleaning up all aspects of their code, from names to classes to their inheritance structure. Participants will be asked and encouraged to bring their own code in to apply these techniques in a mentored environment.


This course is available in Java and c#.Net. Customized VB.Net and C++ courses may be arranged.

Topics:

  •  A look at some ‘smelly’ code…looks familiar? (Oh yes we did!)
  •  Introduction to refactoring
  •  The refactoring cycle
  •  Getting our hands dirty…our first refactorings
  •  Introduction to automated refactoring tools
  •  Some principles to live by and die for
  •  What’s design got to do with this?
  •  Dead and duplicated code
  •  Refactoring names (Oh yes you can!)
  •  The war against comments (Yes, we’re super serious)
  •  Refactoring conditional logic
  •  Refactoring methods and functions
  •  Refactoring error-handling
  •  Refactoring classes
  •  Refactoring class hierarchies
  •  Refactoring objects
  •  Refactoring data
  •  Introduction to refactoring databases
  •  Namespaces and assemblies

Course Goals

  • Understand the principles and benefits of refactoring, including improved code stability, performance, and maintainability.
  • Learn the refactoring cycle and how to apply automated refactoring tools to enhance software quality.
  • Develop hands-on experience in refactoring techniques, including cleaning up names, methods, classes, and conditional logic.
  • Explore strategies for eliminating duplicated code, improving error handling, and optimizing class hierarchies and objects.
  • Gain practical skills in refactoring databases, namespaces, and assemblies to create cleaner, more efficient code structures.

Who should take?

  • Developers
  • Architects
This introductory course is suitable for architects, developers or other individuals with an object oriented development background who would like to learn the fundamentals of refactoring techniques to clean up code, speed it up and reduce defects.

We strive to develop courses so you have fun learning: flinging, spinning, and conducting acts of physical and mental creativity. 

Ellipse

Why Lean Six Sigma Courses?

Ellipse
Ellipse
Ellipse
Innovative Certification Approach

Certification combines experiential training, assignments, and simulated projects for comprehensive skill development.

Ellipse
Ellipse
Scenario-Based Assignments

Students complete real-world scenarios with access to notes, mentors, and online resources.

Ellipse
Ellipse
Simulated Project Experience

Hands-on projects replicate real-world Six Sigma challenges without workplace obstacles or risks.

Ellipse
Ellipse
Proven Success Rates

Achieve certification with a 90% success rate, far surpassing industry standards.

Ellipse
Ellipse
Mentorship and Support

Personalized guidance from experienced mentors ensures students are prepared for real-world applications.

cloud network,mining

Customized Courses

Sofina will customize any on-site course(s) to suit the unique business requirements of our clients. From the modification of standard curriculum to new course development, we will provide the education and training your organization needs to be more productive in today’s competitive environment.