Bạn cần ngừng xem việc xây dựng phần mềm như một cái gì đó cơ bản từ việc xây dựng bất cứ thứ gì khác có giá trị. Không phải vậy. Vì vậy, giống như bất cứ điều gì khác, một kế hoạch hay thiết kế chu đáo, tuy nhiên không thể thiếu, luôn luôn cần thiết.
Liệu một thuật toán thích hợp thực sự giúp cải thiện chất lượng và cuối cùng là hiệu quả của một chương trình?
Liệu một kế hoạch / sơ đồ xây dựng phù hợp có giúp xây dựng một ngôi nhà chất lượng một cách hiệu quả?
Chúng ta vẫn có thể tạo ra một chương trình chất lượng tốt mà không cần thuật toán?
Bạn có thể xây dựng một ngôi nhà chất lượng tốt một cách hiệu quả mà không có kế hoạch xây dựng phù hợp? Theo Định lý Khỉ vô hạn , theo xác suất, vâng (giống như một triệu con khỉ gõ ngẫu nhiên vĩnh viễn cuối cùng sẽ gõ các tác phẩm hoàn chỉnh của Shakespeare.
Là một thuật toán thích hợp là PHẢI trong lập trình hiện đại?
Nếu bạn không muốn trở thành một con khỉ mã và bạn muốn đảm bảo rằng bạn không cung cấp phần mềm trông giống và hoạt động như shit, vâng, đó là điều bắt buộc. Mỗi dự án mà tôi đã phải trục vớt (vì mã trông giống như một thứ rác rưởi) đã bắt đầu bất biến với một câu trả lời tiêu cực cho câu hỏi đó.
Trong thực tế, lập trình hiện đại đã tránh xa kỹ sư phần mềm lập trình cao bồi, nơi lập kế hoạch của một số loại nếu phải.
Ngay cả khi bạn có một thư viện các thuật toán và cấu trúc dữ liệu theo ý của bạn (.ie. Boost trong C ++ hoặc thư viện bộ sưu tập Java), bạn phải biết công cụ đó hoạt động như thế nào để sử dụng nó một cách hợp lý và để hợp lý nó, hợp lý hơn, cao hơn thuật toán cấp độ.