MyPage is a personalized page based on your interests.The page is customized to help you to find content that matters you the most.


I'm not curious

Refactoring Fundamentals

Course Summary

Refactoring is a critical developer skill that helps keep code from collapsing under its own weight. Learn how to recognize code smells that may indicate the need for refactoring, the refactoring process, and when and how to apply specific refactorings


  • +

    Course Syllabus

    ● Introducing Refactoring
        ◦ Introduction
        ◦ What is Refactoring?
        ◦ Why Should You Refactor?
        ◦ Technical Debt
        ◦ When Should You Refactor
        ◦ Refactoring Principles
        ◦ The Refactoring Process
        ◦ Demo: Characterization Tests
        ◦ Refactoring Tips
        ◦ Refactoring Tools
        ◦ Premature Optimization
        ◦ Refactoring and Tests
        ◦ Demo: A Simple Refactoring
        ◦ Summary
    ● Bloating Code Smells
        ◦ Introduction
        ◦ Code Smells
        ◦ Principle of Least Surprise
        ◦ Organizing Code Smells
        ◦ The Bloaters
        ◦ Long Method
        ◦ Long Method Examples
        ◦ Primitive Obsession
        ◦ Long Parameter List
        ◦ Data Clumps
        ◦ Combinatorial Explosion
        ◦ Oddball Solution
        ◦ Class Doesn't Do Much
        ◦ Required Setup/Teardown Code
        ◦ Summary
    ● Obfuscating Code Smells
        ◦ Introduction
        ◦ The Obfuscators
        ◦ Regions
        ◦ Comments
        ◦ Poor Names
        ◦ Vertical Separation
        ◦ Inconsistency
        ◦ Obscured Intent
        ◦ Summary
    ● Object Orientation Abuser Code Smells
        ◦ Introduction
        ◦ Switch Statements
        ◦ Temporary Field
        ◦ Alternative Classes with Different Interfaces
        ◦ Class Depends on Subclass
        ◦ Inappropriate Static
        ◦ Summary
    ● Code Smells: Change Preventer
        ◦ Introduction
        ◦ Change Preventers
        ◦ Divergent Change
        ◦ Shotgun Surgery
        ◦ Parallel Inheritance Hierarchies
        ◦ Inconsistent Abstraction Levels
        ◦ Conditional Complexity
        ◦ Poorly Written Tests
        ◦ Summary
    ● Code Smells: Dispensables
        ◦ Introduction
        ◦ The Dispensables
        ◦ Lazy Class
        ◦ Data Class
        ◦ Duplicate Code
        ◦ Dead Code
        ◦ Speculative Generality
        ◦ Summary
    ● Code Smells: The Couplers
        ◦ Introduction
        ◦ The Couplers
        ◦ Feature Envy
        ◦ Inappropriate Intimacy
        ◦ Law of Demeter
        ◦ Indecent Exposure
        ◦ Message Chains
        ◦ Middle Man
        ◦ Tramp Data
        ◦ Artificial Coupling
        ◦ Hidden Temporal Coupling
        ◦ Hidden Dependencies
        ◦ Summary
    ● Environment and Testing Code Smells
        ◦ Introduction
        ◦ Environment Smells
        ◦ Test Smells
        ◦ Not Enough Tests
        ◦ DRY vs. DAMP
        ◦ Fragility
        ◦ The Liar
        ◦ Excessive Setup
        ◦ The Giant
        ◦ The Mockery
        ◦ The Inspector
        ◦ Generous Leftovers
        ◦ The Local Hero
        ◦ The Nitpicker
        ◦ The Secret Catcher
        ◦ The Loudmouth
        ◦ The Greedy Catcher
        ◦ The Sequencer
        ◦ The Hidden Dependency
        ◦ The Enumerator
        ◦ The Stranger


Course Fee:
USD 29

Course Type:

Self-Study

Course Status:

Active

Workload:

1 - 4 hours / week

This course is listed under Development & Implementations and Quality Assurance & Testing Community

Related Posts:

Attended this course?

Back to Top

Awards & Accolades for MyTechLogy
Winner of
REDHERRING
Top 100 Asia
Finalist at SiTF Awards 2014 under the category Best Social & Community Product
Finalist at HR Vendor of the Year 2015 Awards under the category Best Learning Management System
Finalist at HR Vendor of the Year 2015 Awards under the category Best Talent Management Software
Hidden Image Url

Back to Top