Book, Design Pattern, TDD

Book Review: xUnit Test Patterns: Refactoring Test Code: Gerard Meszaros

Khi đối diện với những điều không (chưa) biết, kẻ bi quan sẽ tỏ ra lo sợ và trốn chạy, người lạc quan thì không như vậy, họ luôn biết cách đối mặt với nó. Vào những năm cuối thập niên 90, khi phong trào eXtreme Programming mới bắt đầu được khai nén, đã có… Continue reading Book Review: xUnit Test Patterns: Refactoring Test Code: Gerard Meszaros

Architecture, Tản mạn, Uncategorized

Em muốn trở thành kiến trúc sư

Mình muốn kể cho mọi người nghe một câu chuyện là cuộc đối thoại ngắn giữa một anh chàng Developer trẻ và 1 anh Architect. Cậu ta đến gặp anh kiến trúc sư và tâm sự là muốn trở thành 1 kiến trúc sư như anh. Sau này em cũng muốn trở thành 1 Software… Continue reading Em muốn trở thành kiến trúc sư

Design Pattern, Java, OO Design Principles, Programming Tutorial

Avoid NullPointerException in Java

I would like to share with you some tips to deal/prevent NPE in your code: The BIG IMPORTANT rule: do NOT assign / pass / return null value and keep your code as cohesive as possible. Programming tips / techniques: 1. Return an empty collections instead of null. For example: List: Set: Map: 2. Return… Continue reading Avoid NullPointerException in Java

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

Design Pattern, OO Design Principles

Những nguyên tắc, những định luật của lập trình mà chúng ta nên có sẵn trong đầu

Nguồn : http://qiita.com/hirokidaichi/items/d6c473d8011bd9330e63 Người dịch : Phan Hoàng Minh (https://viblo.asia/minhp/posts/wpVYRP2kG4ng) Nguyên tắc Demeter Còn có tên gọi khác là nguyên tắc “càng biết ít càng tốt”. Demeter là tên gọi của Nữ thần nông nghiệp, cũng là nữ thần phân phát trong thần thoại Hi Lạp. Tên bà được dùng để đánh dấu sự ra… Continue reading Những nguyên tắc, những định luật của lập trình mà chúng ta nên có sẵn trong đầu

OO Design Principles

Write Private Functions Not Private Methods

From http://pivotallabs.com/write-private-functions-not-private-methods/ Jared Carroll Sunday, June 30, 2013 Khi một class có quá nhiều private method (được gọi là "Lớp tảng băng trôi" - Iceberg class) thì đó là dấu hiệu cho biết class đó có thể đang làm hơn 1 nhiệm vụ (responsibility). Vì vậy việc tách (extract) những private method đó ra class khác giúp lớp… Continue reading Write Private Functions Not Private Methods

OO Design Principles

From Primitive Obsession to Domain Modelling

From http://blog.ploeh.dk/2015/01/19/from-primitive-obsession-to-domain-modelling/ A string is sometimes not a string. Model it accordingly. Recently, I was reviewing some code that looked like this: There was a few things with this that struck me as a bit odd; most notably the use of IsNullOrWhiteSpace. When I review code, IsNullOrWhiteSpace is one of the many things I look for,… Continue reading From Primitive Obsession to Domain Modelling