tailieunhanh - Bài giảng Lập trình nâng cao: Cải tiến và tối ưu hóa - Trần Quốc Long
Bài giảng "Lập trình nâng cao: Cải tiến và tối ưu hóa" cung cấp cho người học các kiến thức: Vấn đề tồn đọng, tiếp tục cải tiến và tối ưu hóa; truyền tham số bằng giá trị, tham chiếu, tham chiếu hằng; từ khóa const. . | Refactoring & Optimizing 4 - Cải tiến và tối ưu hóa Nội dung Vấn đề tồn đọng màn hình text bị trôi theo mỗi lần đánh → xấu, chưa hiển thị các lần đoán sai để người chơi dễ hơn code chưa tối ưu Tiếp tục cải tiến và tối ưu hóa Phiên bản : code tốt hơn Phiên bản : giao diện tốt hơn Kỹ thuật Truyền tham số bằng giá trị, tham chiếu, tham chiếu hằng Từ khóa const Phiên bản : Cải tiến code Cơ chế truyền tham trị Tham biến Hằng tham chiếu Code trong sáng, an toàn Cơ chế truyền tham trị string update(string guessedWord, string word, char guess) { for (int i = (); i >= 0; i--) { if (word[i] == guess) { guessedWord[i] = guess; } } return guessedWord; } .//in main function if (contains(word, guess)) guessedWord = update(guessedWord, word, guess); . Chuyện gì xảy ra với guessedWord và word ở đây? Cơ chế truyền tham trị string update(string guessedWord, string word, char guess) { for (int i = (); i >= 0; i--) { if (word[i] == guess) { guessedWord[i] = guess; } } return guessedWord; } .//in main function if (contains(word, guess)) guessedWord = update(guessedWord, word, guess); . sao chép xâu ký tự: - 02 lần từ đối số vào tham số - 01 lần từ giá trị trả về vào biến nhận kết quả Dùng tham biến để tránh sao chép void update(string& guessedWord, string& word, char guess) { for (int i = (); i >= 0; i--) { if (word[i] == guess) { guessedWord[i] = guess; } } } .//in main function if (contains(word, guess)) update(guessedWord, word, guess); . Đọc và ghi trực tiếp vào các string word, guessedWord của main() Không còn nhu cầu return Không còn sao chép string Dùng tham biến để tránh sao chép void update(string& guessedWord, string& word, char guess) { for (int i = (); i >= 0; i--) { if (word[i] == guess) { guessedWord[i] = guess; } } } Lợi ích của việc dùng tham biến Giảm thời gian chạy do không phải sao chép dữ liệu Giảm bộ nhớ do không phải tạo biến mới Giảm nguy cơ lỗi khi dùng bộ nhớ . | Refactoring & Optimizing 4 - Cải tiến và tối ưu hóa Nội dung Vấn đề tồn đọng màn hình text bị trôi theo mỗi lần đánh → xấu, chưa hiển thị các lần đoán sai để người chơi dễ hơn code chưa tối ưu Tiếp tục cải tiến và tối ưu hóa Phiên bản : code tốt hơn Phiên bản : giao diện tốt hơn Kỹ thuật Truyền tham số bằng giá trị, tham chiếu, tham chiếu hằng Từ khóa const Phiên bản : Cải tiến code Cơ chế truyền tham trị Tham biến Hằng tham chiếu Code trong sáng, an toàn Cơ chế truyền tham trị string update(string guessedWord, string word, char guess) { for (int i = (); i >= 0; i--) { if (word[i] == guess) { guessedWord[i] = guess; } } return guessedWord; } .//in main function if (contains(word, guess)) guessedWord = update(guessedWord, word, guess); . Chuyện gì xảy ra với guessedWord và word ở đây? Cơ chế truyền tham trị string update(string guessedWord, string word, char guess) { for (int i = (); i >= 0; i--) { if (word[i] == .
đang nạp các trang xem trước