Discover Classes. Earn Rewards.

TDD and Refactoring Legacy Code Using C# is unfortunately unavailable

Thankfully we have 39 other C# Classes for you to choose from. Check our top choices below or see all classes for more options.

Presto Level 11 (C2)

Collina Italiana @ 1556 3rd Ave , New York, NY

Become practically fluent in Italian with Presto Level 11 (C2) at Collina Italiana. Immerse yourself in the language, effortlessly expressing yourself like a native speaker, reading and discussing classic Italian literature by Dante, Boccaccio, Manzoni, and more. Advance your grammar and conversation skills to the highest level.

(4) Advanced 18 and older
$515

10 sessions

Gift it!

Presto Level 10 (C1)

Collina Italiana @ 1556 3rd Ave , New York, NY

Take your Italian language skills to the next level with Collina Italiana's Presto Level 10 course. Become practically bilingual, confidently express yourself, and understand native materials like books, movies, and music. Keep the conversation going and sharpen your skills with advanced grammar and conversation practice.

(4) Advanced 18 and older
$533

10 sessions

Gift it!

Beginners 1: Guitar for Absolute Beginners

New York City Guitar School @ 251 W 30th St, New York, NY

Unlock your musical potential with a guitar course designed for absolute beginners. Students will learn basic chords, practice with real songs, and connect with classmates at the New York City Guitar School. Guitars are provided, so all you need to bring is your desire to rock!

(60) Beginner 18 and older
$357

12 sessions

Gift it!

12-Week: Acting for Stage, Film & TV

The New York Performing Arts Academy @ 244 West 54th St, New York, NY

Unlock your potential as an actor and master the art of stage, film, and television performance with industry professionals at The New York Performing Arts Academy. Gain comprehensive training and develop the skills needed to excel in the world of acting. Start your journey towards becoming a skilled and authentic actor in a supportive and collaborative learning environment.

(7) All levels 17 and older
$565

12 sessions

Gift it!

8-Week: Acting for Stage, Film & TV

The New York Performing Arts Academy @ 244 West 54th St, New York, NY

Master the art of stage, film, and television acting with industry professionals at The New York Performing Arts Academy. Develop your skills in script analysis, character development, and audition preparation in a supportive learning environment. Take your acting to the next level and become a skilled and authentic actor with this comprehensive training program.

(7) All levels 17 and older
$395

8 sessions

Gift it!
See all C# classes NYC

TDD and Refactoring Legacy Code Using C#

  • All levels
  • 18 and older
  • $2,595
  • (Exact location to be announced), New York, NY
  • over 5 sessions

Start Dates (0)

  • $2,595
  • NY - Manhattan @ (Exact location to be announced), New York, NY 00000
  • over 5 sessions
Showing 10 of 0

Class Description

Description

What you'll learn in this c# training:

All HOTT courses are available face-to-face, remote-live, on-demand or on-site at your facility

This course provides students with hands on experience learning Test Driven Development (TDD) using NUnit and Microsoft’s Visual Studio. Students will build unit tests using mocks, fakes, stubs and drivers, and address issues working with databases and other systems. Student will create tests and code that will be more likely to meet and exceed requirements. Code that receives “test coverage” will not break existing systems, because tests are passed before code is checked in.


Students will spend time working with the issues involved in refactoring legacy code, safely cutting into an already deployed system. Students will work on looking for, or creating “seams” to more safely improve code or add features, and work on identifying “code smells” that need attention in a productive system.


Finally, students will explore dependency issues as well as techniques to better understand and improve complex systems.


Students will also examine TDD and refactoring legacy code in other languages like Java to gain a broader view of options and issues working in a multi-language shop. Comprehensive labs using C# provide facilitated hands on practice crucial to developing competence and confidence with the new skills being learned.


Course Prerequisites: C# programming experience and an understanding of object-oriented design principles. HOTT's Learning to Program with C# course or equivalent knowledge provides a solid foundation. 


Course Overview


Why TDD? Think Twice, Write Production Code Once

  • Utilizing a Safety Net of Automated Testing
  • Agile Development Concepts
  • Eliminating Bugs Early
  • Smoothing Out Production Rollouts
  • Writing Code Faster via Testing
  • Reducing Technical Debt
  • Practicing Emergent Design
  • Making Changes More Safe
  • The Importance of Regression Testing

Basic Unit Testing

  • JUnit
  • 3.x vs 4.0 JUnit Testing
  • Adding Complexity to Initial Simple Tests
  • Making Tests Easy to Run
  • The TDD Pattern: Red, Green Refactor
  • Using Methods of the Assert Class
  • Boundary Testing
  • Unit Test Limitations

Comprehensive Unit Testing Concepts

  • Using Declarative-Style Attributes
  • Using Hamcrest Matchers for More Complex Scenarios
  • Using Test Categories
  • Exception Handling in Tests
  • JUnit Test Initialization and Clean Up Methods
  • Writing Clean and Dirty Tests
  • Testing with Collections, Generics and Arrays
  • Negative Testing

Mocks, Fakes, Stubs and Drivers

  • TDD Development Patterns
  • Naming Conventions for Better Code
  • Using Mock Objects
  • Using Fakes
  • Using Stubs
  • Test Doubles
  • Manual Mocking
  • Mocking with a Mock Framework
  • Self-Shunt Pattern

Database Unit Testing

  • Mocking the Data Layer
  • Identifying what Should Be Tested in Databases
  • Stored Procedure Tests
  • Schema Testing
  • Using NDbUnit to Set Up the DB Test Environment

Refactoring Basics

  • Refactoring Existing Code
  • Restructuring
  • Extracting Methods
  • Removing Duplication
  • Reducing Coupling
  • Division of Responsibilities
  • Improving Clarity and Maintainability
  • Test First - then Refactor
  • More Complex Refactoring Considerations

Patterns and Anti-Patterns in TDD

  • The SOLID Principles
  • Factory Methods
  • Coding to Interface References
  • Checking Parameters for Validity Test
  • Open/Closed Principle: Open to Extension, Closed to Change
  • Breaking Out Method/Object
  • Extract and Override Call
  • Extract and Override Factory Method
  • Singleton Pattern
  • Decorator Pattern
  • Facade Pattern
  • State Pattern
  • MVP, MVC and MVVM Patterns
  • Finding and Removing Code Smells/Antipatterns

Refactoring Legacy Code

  • Reducing Risk of Change
    - Eliminating Dependencies
    - Characterization Tests as a Safety Net
    - Introducing Abstractions to Break Dependencies
  • Analyzing Legacy Code
    - Identifying Pinch Points with Effect Analysis
    - Identifying Seams for Expansion and Testing
    - Listing Markup
  • Minimizing Risk of Adding New Behavior
    - Sprout Method
    - Sprout Class
    - Wrap Method
    - Wrap Class
  • Dealing with Code that's Difficult to Test
    - Globals and Singletons in Tests
    - Inaccessible Methods and Fields
  • Using Smells to Identify What to Refactor
    - Dealing with Monster Methods
    - Dealing with Excessively Complex, Large Classes
    - Identifying and Eliminating Duplication
    - Other Smells
  • Dealing with Large Legacy Systems
    - Preserving Signatures

Code Coverage

  • White Box vs Black Box Testing
  • Planning to Increase Code Coverage Over Time
    - Goal 80% or More Test Coverage
    - Statement Coverage
    - Condition Coverage
    - Path Coverage
  • Test Harnesses
  • Unit-Testing Harnesses

System, Regression and Acceptance Testing

  • Statistical Sampling
  • Usability Testing
  • Test Protocols
  • Regression Testing
  • Acceptance Testing

Continuous Integration Servers/Automated Testing

  • Early Warning of Conflicts
  • Metrics and Tools
  • Checking into Repository
    - Team Foundation Server (TFS)
    - Subversion
  • Continuous Integration Servers
    - CruiseControl.NET
    - Hudson
    - Automating the Build/Deployment

Risks Changing Legacy/Production Systems

  • Refactoring
  • Coupling and Cohesion Issues
  • Taking Small Tested Steps
  • Anti-Pattern: Big Bang, Boom

Automating the Build/Deployment

Refund Policy

Tuition includes all course materials. Students may withdraw before the second day of class to receive a 100% refund, provided course materials are returned to the instructor. Prorated refunds may be granted for withdrawals after the first day.

Cancellations and Changes: There are no cancellation fees.

Attendance Requirements: Students must attend each day of a course and successfully complete hands on exercises in order to receive a certificate of completion. If a student wishes to retake any portion of a class that he or she completes, the student may do so within 12 months at no extra cost.

Intended Audience: Hands On Technology Transfer, Inc., provides IT training designed for technology professionals who wish to quickly upgrade their computer skills. In most states, the employer bears all training costs.

Reviews of Classes at Hands On Technology Transfer, Inc. (7)

(4.6-star rating across 7 reviews)
See reviews for other classes at Hands On Technology Transfer, Inc.
loading...
Hide Reviews

Review Summary by CourseHorse

The students who took classes at TDD and Refactoring Legacy Code Using C# had a positive experience overall. They praised the instructors for being knowledgeable, friendly, and helpful. The class experience was considered excellent, and the remote class option was appreciated. The students found the instructor to be amazing and highly knowledgeable in the subject matter, making the class very informative. They expressed a desire for additional training with such knowledgeable instructors. The students also commended the staff at SST for their excellent staff, from administration to instructors, and appreciated the personal attention they received. The classes exceeded their expectations, particularly in terms of the course material, lab explanations, and the assistance provided. The students were able to learn new skills and gain a deeper understanding of TDD and refactoring legacy code using C#. Direct quotes: - "The instructor was very knowledgeable, friendly, and helpful." - "Amazing instructor. Knew the material very well and his class was very informative. I hope to have additional training with instructors as knowledgeable as him." - "SST hires excellent staff from administration to instructors who offer superior personal attention. Both classes I've attended have exceeded my expectations from the course material to the explanation of the labs and the help I received."

Benefits of Booking Through CourseHorse

  • Booking is safe. When you book with us your details are protected by a secure connection.
  • Lowest price guaranteed. Classes on CourseHorse are never marked up.
  • This class will earn you 25950 points. Points give you money off your next class!

Questions & Answers (0)

Get quick answers from CourseHorse and past students.

Hands On Technology Transfer, Inc.

HOTT delivers instructor-led technical training across the United States, Canada and the United Kingdom. Whether you attend in person, remote-live or on-demand, our classroom-based training philosophy zeroes in on your ability to work more productively and with higher quality results after training....

Read more about Hands On Technology Transfer, Inc.

CourseHorse Approved

This school has been carefully vetted by CourseHorse and is a verified NYC educator.

Hands On Technology Transfer, Inc.

Hands On Technology Transfer, Inc.

All classes at this location

Google Map

Give This Course as a Gift Card

  • Thousands of classes
  • No expiration
  • Unique and memorable gifts for any occasion
  • Personalized
  • Explore a passion, gain a new skill, discover a new hobby, engage in a memorable experience
  • Instant delivery
  • Lock in a price with the Inflation Buster Gift Card Price Adjuster™

Buy a Gift Card

Book this Class as a Group Event

Booking this class for a group? Find great private group events

Or see all Coding Group Events

Explore group events and team building activities ranging from cooking, art, escape rooms, trivia, and more.

CourseHorse Gift Cards

  • Creative & unique gift for any occasion
  • Thousands of classes & experiences
  • No expiration date
  • Instant e-delivery (or choose a date)
  • Add a personalized message
  • Lock in a price with the Inflation Buster Gift Card Price Adjuster™
Buy a Gift Card
gift card with the CourseHorse logo gift card with the CourseHorse logo
Loading...