Vấn đề với code Android

Chuyện là em học Android cũng vài tháng rồi, nhưng gặp phải vấn đề về việc code.
Khi code Android em đọc code thì biết nó dùng Design Patterns gì ví dụ Apadater,Builder,Singleton,… trong mấy thư viện Android, hiểu cách nó làm việc nhưng ngặt nỗi là không thể tự code được, cứ phải lên mạng xem code ví dụ để implement…
Xin hỏi cách chữa với ạ

Tôi không nghĩ là bạn thật sự hiểu vấn đề. Lý do là vì bạn không nghĩ đến code bạn đọc nhằm giải quyết vấn đề gì. Cũng như khi bạn học toán, bạn chỉ quen học các dạng bài toán và các công thức mà không tìm hiểu lý do tại sao lại dùng các công thức đó. Thành ra nếu khi giải toán, bạn gặp một dạng toán mà bạn đã làm qua rồi thì bạn biết dùng công thức nào, nhưng nếu gặp một dạng toán mới (hoặc đơn giản hơn là kết hợp một vài dạng bài toán bạn đã biết lại với nhau) thì bạn không thể tìm được cách giải.

Cách giải quyết cũng không khó, nhưng bạn phải chịu khó: bạn đọc lại các bài hướng dẫn lập trình mà bạn đã đọc qua và suy nghĩ thử xem tại sao người ta lại làm như vậy thay vì chỉ chấp nhận nó, và tự tìm xem thử có cách giải quyết khác không. Ví dụ như tại sao trong một số trường hợp người ta lại dùng biến kiểu int thay vì biến kiểu float hay double hoặc tại sao lại dùng vòng lặp while thay vì for. Bắt đầu từ những câu hỏi tại sao đơn giản như vậy, bạn sẽ tạo cho mình một nền tảng cơ bản vững vàng. Khi đã nắm được các khái niệm căn bản rồi, bạn hãy bước vào các khái niệm cao hơn như là Design Pattern (Tôi nghĩ bạn không hiểu cách sử dụng Design Pattern vì bạn chưa học nó từ cơ bản - để hiểu Design Pattern là gì, bạn hãy chịu khó đọc quyến này: Design Patterns: Elements of Reusable Object-Oriented Software (Addison-Wesley Professional Computing Series) của 4 tác giả mà người ta thường gọi là Gang of Four - đọc từ nguyên bản tiếng Anh nhé. Khi bạn đọc nó từ các bài viết về Android hoặc các ngôn ngữ lập trình khác, tác giả thường chỉ áp dụng vào một tình huống cụ thể mà không đưa cho bạn cái nhìn toàn cảnh).

Kiên nhẫn và học từ gốc là hai đức tính nên có ở người lập trình bạn ạ.

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