by tdat00 Sat May 09, 2009 10:43 pm
đúng là việc cần thiết nhất là thuật toán giải. Cái này thì phải dựa vào kinh nghiệm của coder thôi. Một bài toán có thể có nhiều cách giải, nhiệm vụ của coder là chọn ra cách tối ưu nhất (cho dù nó có phức tạp, dài dòng đến mức nào đi nữa).
Sau đó có thể phác thảo giải thuật thành biểu đồ để dễ hình dung. Thử cho một vài trường hợp phổ dụng xem thuật toán đã đúng chưa, còn thuật toán nào tối ưu hơn không...
Tiếp theo là chuyển thể thuật toán giải thành code. Việc này chỉ cần nắm vững lý thuyết ngôn ngữ của mình là OK thôi.
Cuối cùng là debug. Đây là nhiệm vụ chính và cũng là bước phân loại trình độ của coder. Lập trình các bài toán đơn giản như bài tập ở trường thì ít xảy ra biến cố. Chứ lập trình ứng dụng thì coder cần phải suy nghĩ đến các trường hợp người sử dụng có thể làm khiến chương trình bị lỗi...
Khi đã hoàn thành, coder còn có thể đọc lại code để lược bỏ những đoạn code thừa gây chậm chương trình, thay đổi vị trí các đoạn code cho tối ưu...
Đó là kinh nghiệm của em.