Như những người khác đã lưu ý, làm cho nó ngay lần đầu tiên dĩ nhiên là rẻ nhất. Nhưng tôi cũng sẽ chỉ ra rằng bất kỳ chương trình nào xây dựng bất cứ điều gì rơi vào đâu đó trên phổ của mô hình chống mẫu. Bạn có đang thực hiện một cái gì đó một cách có trật tự hay không; Mã bị nhiễm 'goto' đang theo một mẫu, nó chỉ là thứ được nhận ra sớm là có thể gây hại. Nhưng lưu ý rằng tất cả các mã sôi xuống để nhảy và các nhánh tại một số điểm trong chu trình biên dịch. Không có gì sai khi nhảy: nó chỉ khiến những dự án lớn trở nên khó hiểu hơn.
Rất dễ bị nhầm lẫn bởi các mẫu xuất hiện tầm thường cho các trường hợp sử dụng đơn giản. Ngay khi bạn bắt đầu cần linh hoạt hơn, hầu hết các mẫu dễ vỡ sẽ thoái hóa thành các mẫu chống. Vì vậy, quy tắc của tôi là chỉ viết mã tôi có thể hiểu và có cơ hội gỡ lỗi hợp lý. Nếu tôi quyết định áp dụng một mẫu thông minh một cách mù quáng, tôi ít nhất phải thông minh như mã mẫu để gỡ lỗi nó. Vì vậy, điều quan trọng là đảm bảo rằng bạn đang cách ly và sử dụng các mẫu áp dụng trực tiếp cho vấn đề của bạn, rằng bạn đang tiếp cận vấn đề ở mức độ trừu tượng phù hợp và bạn có thể hiểu và gỡ lỗi mọi dòng trong mã của mình.
Một chìa khóa ở đây là tạo ra sự cân bằng phù hợp giữa các yêu cầu ngắn hạn và dài hạn. Hãy nhớ rằng viết mã tốt một cách nhanh chóng là điều bắt đầu từ các mẫu được hiểu rõ chắc chắn có thể hỗ trợ - mã spaghetti có vẻ nhanh hơn, đặc biệt là lúc đầu. Nhưng bạn sẽ nhanh chóng thấy những hạn chế của các mô hình chống trong bất kỳ dự án lớn nào, trong đó khả năng phân tách, mô đun hóa, v.v., trở nên vô cùng quan trọng.