Testing

Testing không phải là để tìm bug, mà là để lấy feedback về code của mình: coupling hay không, design vậy có tốt hay không, interface vậy có dễ sử dụng hay không, dễ hiểu hay không.
Do đó, lợi ích của testing đến từ việc viết test chứ không chỉ là lúc run test.

Test Early, Test Often, Test Automatically


Test là user đầu tiên sử dụng đoạn code của mình.
Khi viết test sẽ khiến mình phải nhìn đoạn code, module của mình từ phía ngoài, từ hướng client. Khi đó mình sẽ thấy được nó có khó để sử dụng hay không? có bị coupling với module khác hay không.

Do đó, idea là mình sẽ bắt đầu tìm hiểu viết test như thế nào, cần phải test cái gì, và nên áp dụng như thế nào.
Nếu trong chặng được áp dụng viết test, mà mình phải thay đổi test liên tục thì có phải đó là dấu hiệu cho thấy mình implement code bị coupling quá nhiều hay không? Không chia được code.
Tất cả, quan trọng là mindset khi coding.