Indy.Code() Sessions tagged c#

Refactoring to Testable Code

Most developers have the responsibility of working with an existing codebase. In many circumstances, the existing code was not designed with testing in mind. This does not allow leveraging of automated testing to reduce risk and improve quality. To realize the value of automated testing, this existing code must be refactored which is not always easy to accomplish. By attending this session, you will learn several techniques to refactoring code that was not designed to be testable. In addition, unit test will be added to the newly refactored code and executed as a part of an automated test suite.

Speaker

Richard Taylor

Richard Taylor

Director of Engineering, SentryOne

Raising the Value of Your Unit Tests

For any non-trivial application created today, software engineers must not only deliver on application features but also include associated unit tests to improve efficiency, to reduce risk when making code changes, and to improve quality by identifying bugs as early as possible. One may think having unit tests to increase code coverage is the goal but that is missing the mark. Software engineers should be focused on delivering unit tests that have meaningful value to support current and future software development. In this session, you will learn several unit test styles, how identify weaknesses in unit tests, and how increase the value of the unit tests you create.

Speaker

Richard Taylor

Richard Taylor

Director of Engineering, SentryOne

Giving Clarity to LINQ Queries by Extending Expressions

In this session we’ll learn about .Net Expression trees by discovering how they work and applying the knowledge to LINQ using the pipes and filters pattern. LINQ and Entity Framework are both commonly used in the .Net ecosystem, but even well-written applications can have LINQ queries that are difficult to understand. Because LINQ is so flexible, it can be written in ways that fail to communicate the developer’s intent. Well-written LINQ should be so clear as to be self-documenting. To write clear LINQ, it helps to understand the details of a few LINQ components that improve LINQ’s readability.

We’ll be showing how to use a pipe and filter pattern to make LINQ queries easier to comprehend. We will take a deep dive into expression trees to understand how they work, and how to manipulate them for maximum re-usability.

Speaker

Ed Charbeneau

Ed Charbeneau

Developer Advocate, Progress