Nên tối ưu hóa code và thuật toán ngay từ lúc phát thảo hệ thống hay là làm cho hệ thống chạy được rồi từ từ tối ưu

mình có 1 câu hỏi là nên tối ưu hóa code và thuật toán ngay từ lúc phát thảo hệ thống hay là làm cho hệ thống chạy được rồi từ từ tối ưu , vì nhiều lúc làm cho nó chạy là 1 chuyện mà code ko tối ưu nên nó chạy chậm , và số lượng code quá nhiều…

3 Likes

Tùy thuộc vào thời gian bạn có cho một dự án.
Nếu nhiều thời gian thì bạn có thể thiết kế, hoàn thiện từng phần của hệ thống một cách tối ưu.
Nếu thời gian gấp gáp, khách hàng yêu cầu gấp thì tùy thuộc kinh nghiệm của người lập trình mà hệ thống cũng được tối ưu ở mức nào đó. Ưu tiên là nó chạy được để giao khách hàng. Sau đó sẽ hoàn thiện và nâng cấp sau.
Tuy nhiên, khi thiết kế bạn cần xác định phần quan trọng nhất của hệ thống để ưu tiên tối ưu nó ngay từ đầu. Vì nếu không, việc tối ưu sau này dễ dẫn đến viết lại phần lớn hệ thống.

4 Likes

Đầu tiên phải làm đúng đã.(Mấy cái app nhỏ nhỏ, còn lớn thì phải kiến trúc hệ thống trước)
Phải có tính thống nhất, dễ bão trì khi thêm bất kỳ 1 feature nào cũng phải theo flow đã làm trước đó.
Hiện tại phần cứng mạnh mẽ, nên optimize nên để sau. giờ thường khi dữ liệu lớn mới nãy sinh vấn đề về performance.
Cái thuật toán (minh thích gọi là solution hơn và có vẻ chính xác hơn) tránh để bị trùng (tạo common nếu có thể)

3 Likes

http://c2.com/cgi/wiki?MakeItWorkMakeItRightMakeItFast

  • Get at least some of the stuff to work so you are getting feedback (i.e. get your first test case to pass)
  • From there, get everything to work so you have completed a chunk of functionality
  • Optional: make it go faster, but only if you need to…

Trang c2.com này có khá nhiều bài về các chủ đề khác nhau của cnpm, chẳng hạn như http://c2.com/cgi/wiki?SevenPrinciplesOfSoftwareDevelopment. Theo tác giả, không nên tối ưu ngay từ đầu nhưng vẫn nên có tầm nhìn và chuẩn bị trước cho tương lai.

3 Likes
83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?