Blog posts

Case of Scope Creep - A Simple Introduction to BDD Part 4

Introduction

In the dessert of JBehave, Behaviour-Driven Development, and the calculator (yay), we present the last part of our series.

Read More

Implementation - A Simple Introduction to BDD Part 3

Introduction

Continuing our journey with JBehave and Behavior-Driven Development (BDD), today we will move on to implementation. We’ll also explore some of the interesting features of this tool.

Read More

The First Story - A Simple Introduction to BDD Part 2

Starting the Brain

We are ready to dive into Behavior Driven Development (BDD). Let’s kick off with JBehave and get things rolling.

Read More

A Simple Introduction to BDD Part 1

A Simple Introduction to BDD Part 1

Today marks the premiere of my screencast, which is essentially my initial foray into video blogging and sharing insights in this format.

Read More

The Natural Order of Refactoring Under the Microscope Part 5: Evolution of Architecture

Architectural Evolution

An essential next step, at a much higher level of abstraction, requires a deep understanding of the system. Based on emerging patterns and developing domain objects, over time we realize the need to modify the architecture. Architectural patterns or the introduction of other architectural mechanisms can assist us. Such transformations may include:

Read More

The Natural Order of Refactoring Examined Part 4: Refactoring to Patterns

The Natural Order of Refactoring Examined Part 4: Refactoring to Patterns

By following the steps outlined previously, we begin to see a more structured solution, predominantly consisting of methods grouped into classes. It’s now time to apply object-oriented principles, such as those encapsulated by the SOLID principles. We analyze the code for patterns of repetition, the need for flexibility, and code smells, and introduce design patterns where appropriate.

Read More

The Natural Order of Refactoring Under the Microscope Part 3: Extract Method

Analyzing Class and Method Responsibilities

In the next step, we examine the responsibilities of individual classes and methods, checking if they align with the intended responsibility of the class. It is best to analyze all methods and group them based on performing similar operations. We look for a place for these in other classes or a new class. Remember: if there is a significant private method in a class (longer than 3-4 lines), it should be moved to another class.

Read More

Have You Ever Thought About a Career as a Trainer/Consultant?

As our activities at BNS IT (bnsit.pl) continue to expand, we have openings for individuals eager to work with others to share knowledge and experience. We aim to support teams in increasing their work efficiency.

Read More

Natural Order of Refactoring Explored Part 2: Compose Method

Compose Method

Analyzing methods, such as the one presented in Part 1, often leads us to understand the main points of the algorithm contained in them. This insight paves the way for the next step: try to split a large method into smaller steps by extracting them into separate methods (refactoring using the Extract Method). Thus, the original method will consist of a sequence of calls to these new methods. With the right naming conventions, you can achieve code that reads like a book.

Read More

The Natural Order of Refactoring Under the Microscope Part 1

Refactoring is an age-old problem—perhaps not the best word given the relatively short existence of software engineering as a discipline. Everyone knows refactoring should be done, but nobody seems to have the time for it.

Read More
Categories
Tags