Methodology, Tản mạn, Uncategorized

Domain Drive Development (DDD) – First thought – Part 1

Nhan nhản trên Google có các câu hỏi đại loại như: so sánh giữa TDD (Test Driven Development) và DDD (Domain Driven Development), phương pháp nào tốt hơn? Rồi lại có BDD (Behavior Driven Development), CBD (Component-based Development) làm mình không khỏi confuse, tuy nhiên trong 1 phút suy nghĩ và cũng có được câu… Continue reading Domain Drive Development (DDD) – First thought – Part 1

Craftsmanship, Uncategorized

TDD – From the Inside Out or the Outside In?

Often the hardest part of programming is knowing where to start. With test-driven development the right place to begin is with a test, but when faced with a blank page, it can be daunting. Is it best to start with the detail of what you are building, and let the architecture form organically using an… Continue reading TDD – From the Inside Out or the Outside In?

Craftsmanship, Uncategorized

xDD: An Overview

I don’t know if it’s more comical or tragical to see all those xDD combinations that exist in software development. By “xDD” I mean any one of TDD, BDD, DDD, RDD, FDD, etcetera. Software developers often make fun of this our tendency to suffix everything with “DD”. I have three points to make about this:… Continue reading xDD: An Overview

Craftsmanship, Uncategorized

Combining TDD/BDD with DDD

Its not unnatural to think that the prototypical xDD combinations (TDD, BDD, DDD, and friends) are somehow in competition with each other. If you are unsure of their exact meanings, why wouldn’t you believe that TDD is in opposition to BDD and DDD? I mean, they all mean “Hmmhmm Driven Design/Development”. How many things can… Continue reading Combining TDD/BDD with DDD


The Solution to Technical Debt

From By Henrik Kniberg (related article: Good and Bad Technical Debt – and how TDD helps) (Translations: Russian) Are you in a software development team, trying to be agile? Next time the team gets together, ask: How do we feel about the quality of our code? Everyone rates it on a scale of 1-5, where 5… Continue reading The Solution to Technical Debt

Experience, OO Design Principles, TDD

Technical Debt và Legacy System

Technical debt - tạm dịch là "Khoản nợ kỹ thuật" được dùng nhiều trong Software Engineering. Theo Henrik Kniberg, những khoản nợ kỹ thuật là bất cứ thứ gì trong việc viết mã khiến bạn chậm lại về lâu dài. Ví dụ như là mã khó đọc, thiếu (hoặc không có) kiểm thử tự động,… Continue reading Technical Debt và Legacy System


What does TDD mean?

From Pawel Olesiejuk   Test Driven Development (TDD) is not about writing tests. Writing tests is writing tests, period. TDD is more than that, it’s a methodology.  It has started as a part of the agile methodology invented by Ken Beck called eXtreme Programming (we recommend Kent Beck’s book “Extreme Programming Explained”). The main idea… Continue reading What does TDD mean?