loader from loading.io

Testing Object-Oriented Code - A Better Design Approach

Develpreneur: Become a Better Developer and Entrepreneur

Release Date: 04/05/2021

Technical Mastery: Balancing Depth and Breadth show art Technical Mastery: Balancing Depth and Breadth

Develpreneur: Become a Better Developer and Entrepreneur

Our latest podcast episode explores a key developer's dilemma: Should they go deep or wide in technical mastery? Hosts Mike and Rob dissect this decision, focusing primarily on platforms and technology. The Developer's Dilemma: Technical Mastery Unveiled Embracing Breadth: The Power of Versatility First, Rob advocates for a broad approach. He emphasizes being well-versed across technologies, languages, and frameworks. Create a technical roadmap and regularly explore new tech. Stay adaptable and informed with wide skills. This enhances career prospects and understanding of tools'...

info_outline
Navigating Technology Sprawl: Streamlining Solutions and Skillsets show art Navigating Technology Sprawl: Streamlining Solutions and Skillsets

Develpreneur: Become a Better Developer and Entrepreneur

In a digital landscape brimming with innovation, the allure of diverse technologies often leads to unintended consequences. In our latest podcast episode, hosts Rob Broadhead and Michael Meloche delve deep into the tangled web of technology sprawl. From personal coding repositories to organizational software ecosystems, they illuminate the challenges and opportunities inherent in managing a multitude of solutions. Join us as we unravel the complexities of technology sprawl and explore practical strategies for streamlining solutions and skillsets. Navigating Technology Sprawl ...

info_outline
Niche Broad vs. Deep Expertise show art Niche Broad vs. Deep Expertise

Develpreneur: Become a Better Developer and Entrepreneur

Welcome to Season 21! We're nearing 800 episodes in. Today, we ask whether you should specialize in one skill or master a broad range of skills in your career and business. Join Rob Broadhead and Michael Meloche as they unpack this nuanced debate. They offer insight on applying this to your niche when building your business and identifying target customers. Niche Broad vs. Deep Expertise Crafting a Compelling Pitch: Solving Customer Problems In this episode, Rob and Michael reflect on their experiences building their respective businesses. They discuss the challenges and rewards of...

info_outline
Navigating Data Integration: Scraping Vs. APIs show art Navigating Data Integration: Scraping Vs. APIs

Develpreneur: Become a Better Developer and Entrepreneur

In the latest Develpreneur Podcast episode, hosts Rob and Michael explore data integration methods. Focus on scraping versus using APIs. They have experience in both realms. Dissect the challenges and advantages of each approach. Offer valuable insights for developers and data enthusiasts. Using Scraping for Data Integration What is scrapping? Scraping involves programmatically extracting data from web pages, mimicking human interaction with the user interface. Today, web scraping involves navigating HTML structures, identifying elements by their IDs, and extracting relevant...

info_outline
Deciphering Code Chaos: Strategies for Writing Maintainable Code show art Deciphering Code Chaos: Strategies for Writing Maintainable Code

Develpreneur: Become a Better Developer and Entrepreneur

This episode delves into the intricate world of code chaos, coding standards, and best practices, and exploring the importance of writing maintainable code. Hosts Rob and Mike share their insights and experiences, shedding light on the challenges and solutions in the realm of software development. Deciphering Code Chaos What is Code Chaos? Rob and Mike set the stage by discussing the frustration of code chaos. This is where similar code functionality is scattered and duplicated code across projects. They emphasize the significance of architecting solutions rather than hastily...

info_outline
Upwork Proposal Strategy: Crafting a Winning Proposal show art Upwork Proposal Strategy: Crafting a Winning Proposal

Develpreneur: Become a Better Developer and Entrepreneur

Welcome back to our ongoing Upwork journey! In this episode, we delve into the specifics of crafting a winning proposal. Whether you're a seasoned freelancer or just starting out, understanding the intricacies of proposal writing is crucial for success on platforms like Upwork. Crafting a Winning Proposal Deciphering the Job Posting As we embark on our proposal-writing journey, let's dissect a typical job posting. Job descriptions may often seem repetitive, emphasizing the need for skilled, passionate individuals. However, hidden within the generic language are clues to what the...

info_outline
Upwork Startup Guide: Navigating the Freelance Landscape show art Upwork Startup Guide: Navigating the Freelance Landscape

Develpreneur: Become a Better Developer and Entrepreneur

In this podcast episode, we delve into launching a successful freelance career on Upwork. Focusing primarily on getting started, a sort of Upwork startup guide for beginners. This guide draws from our wealth of experience. It provides invaluable insights and practical advice for freelancers aiming to thrive in the competitive online marketplace by sharing our expertise and firsthand knowledge. Upwork Startup Guide We guide listeners through establishing a solid presence on Upwork so they can use it to maximize their earning potential. Exploring Upwork: Navigating the Platform As...

info_outline
The Importance of Properly Defining Requirements show art The Importance of Properly Defining Requirements

Develpreneur: Become a Better Developer and Entrepreneur

In this podcast transcript, Rob and Michael delve into the pivotal topic of defining requirements in software development. They emphasize the significance of clear and detailed requirements, underscoring the potential pitfalls of vague or incomplete requirements. Throughout the conversation, they provide insights, anecdotes, and practical strategies for navigating the complexities of requirement gathering and management. Let's dive into the key points discussed by Rob and Michael. Defining Requirements The Importance of Clear Communication Rob and Michael stress the importance of...

info_outline
Pitching Your Services To Your Customers show art Pitching Your Services To Your Customers

Develpreneur: Become a Better Developer and Entrepreneur

As consultants and service-based business owners, one of the biggest challenges is identifying your ideal customer and effectively pitching your services to them. In this insightful podcast, Rob and Michael dive deep into this topic, sharing their experiences and strategies. Pitching Your Services The Primary Focus: Solve the Customer's Problem The core message that resonates throughout the discussion is the importance of understanding and addressing your customer's specific problems. Instead of leading with the technologies or services you offer, the initial focus should be on the...

info_outline
Setting Realistic Expectations In Development show art Setting Realistic Expectations In Development

Develpreneur: Become a Better Developer and Entrepreneur

Welcome back, fellow developers! Whether you're tuning in from your favorite chair or your trusty work desk, we're back to share insights and reflections on the intricate world of software development. In today's episode, we're diving deep into the realm of realistic expectations—how crucial they are when dealing with clients, navigating difficult conversations, and ensuring project clarity. Setting the Stage for Realistic Expectations In today's podcast, we're revisiting a topic mentioned in previous episodes: realistic expectations. From the onset, we're reminded that clear...

info_outline
 
More Episodes

We have spent a lot of time on the core concepts of object-oriented design and programming.  However, testing object-oriented code is at least as essential to our practical approach.  We need to ensure that our code is written with a quality that makes it worth re-using.  Otherwise, it is a better use of time to write new code instead of wrangle low-quality code with the idea of re-use.  We have all seen these situations where it is easier and faster to start from scratch than building on previously written code.

Testing Object-Oriented Code Through Design

We will focus on test-driven development in the next episode.  However, our implementation and approach to a solution can be improved with the inclusion of unit tests.  There is a level of expectation that unit tests point to.  When we start to code these, the gaps in our return values and messages become apparent.  Thus, we get the benefits of tested code and a more thorough design.

Unit and Class-Level Testing

Unit-testing typically is at the method level.  The good news is that we can connect a few of these and easily shift to class-level tests.  These are important steps towards building a highly re-usable class.  We will show (through successful tests) that our methods work individually and as part of the class system.  While interactions and interfaces for our class are important, it is more valuable to have a class that is a solid ecosystem.

The Goal Is Re-Usable

All of these points lead us to how confident we are in our code.  If we have a low-confidence, then why would we re-use it?  In those cases, we are better off writing "one-off" code that avoids the costs of object-oriented.  There is no benefit in staying on the fence.  Either embrace OOD and testing object-oriented code for re-use or write something quick-and-dirty.  This concept applies throughout the real world.  There is no sense building on a flimsy foundation.