Loose coupling and high cohesion are two fundamental principles in software design that are often discussed but it’s difficult.
After many failures, I believe I have found the key to solving the above problem: clearly defining the responsibilities and boundaries of each component. In this article, I will explain why this is a crucial step and provide practical guidance on how to achieve it.
When used Modularity and Domain-Driven Design (DDD) together, they can help to create systems that are easier to maintain, more reliable, and more adaptable to change.
Source code management is critical to ensuring project stability, developer velocity, and delivery cadence. Today, several branching workflows are widely used: GitHub Flow, Git Flow, and Trunk-Based Development. In this article, we’ll examine each workflow in depth and explore which strategy best suits feature teams of 2 to 7 engineers during active application feature development.
Việc quản lý mã nguồn là rất quan trọng để đảm bảo tính ổn định và hiệu quả của dự án. Hiện nay, có nhiều phương pháp quản lý mã nguồn khác nhau như: Github Flow, Git Flow và Trunk Based. Trong bài viết này, chúng ta sẽ đi vào chi tiết về các phương pháp quản lý mã nguồn này và tìm hiểu xem phương pháp nào phù hợp nhất cho feature team size từ 2 đến 7 người trong giai đoạn phát triển tính năng cho ứng dụng.
Nếu các bạn đã thực hiện unit test với JUnit4 có một điểm yếu là không hỗ trợ parameters cho test method dẫn tới việc phải dupl code rất nhiều gây khó khăn cho việc review, update test case 👎. Điểm yếu này có thể khắc phục bằng TestNG. Rất may, JUnit5 ra đời với nhiều cải tiến, trong đó Parameterized Test là cải tiến giúp ta khắc phục được điểm yếu trên ❤️.
If you wrote unit tests with JUnit 4, a notable pain point was the lack of first-class parameter support in test methods, leading to extensive boilerplate duplication when validating multiple inputs 👎. While TestNG addressed this earlier, JUnit 5 introduced native Parameterized Tests to solve this elegantly ❤️.
In the article How to Write Testable Code, I touched on the concept of Mocks. So what is a Mock? And how can you leverage it to make Unit Testing significantly simpler and more reliable?
Ở bài viết How to Write Testable Code có đề cập đế khái niệm Mock. Vậy Mock là gì? Và đặc biệt là các sử dụng nó dể thực hiện Unit Test đơn giản hơn nhé.
In the article Introduction to Unit Test, we highlighted the vital importance of Unit Testing. But before applying unit tests effectively in current or future projects, we need a crucial foundation: learning how to write Testable Code (Production Code designed to allow straightforward unit testing). This is often the hardest hurdle, so this article synthesizes key principles to help you write testable code effortlessly.