Một schema tốt thì hướng client, mặc định nullable ở các rìa, và tiến hóa được mà không cần version. Nó mô hình hóa domain theo cách client thực sự dùng, không phải theo bảng database của bạn.
Nullability
Chỉ đặt một field là non-null (!) khi bạn luôn luôn có thể trả về nó. Lạm dụng ! là một cái bẫy: nếu một field non-null lỗi, nó sẽ null cả object parent, biến một sự cố nhỏ thành một khoảng trống lớn. Ưu tiên nullable cho bất cứ thứ gì phụ thuộc vào một service downstream.
