Trang Chủ Phát triển Minh bạch tham chiếu là gì? - định nghĩa từ techopedia

Minh bạch tham chiếu là gì? - định nghĩa từ techopedia

Mục lục:

Anonim

Định nghĩa - Minh bạch tham chiếu có nghĩa là gì?

Độ trong suốt tham chiếu là thuộc tính của một phần cụ thể của chương trình hoặc ngôn ngữ lập trình, đặc biệt là các ngôn ngữ lập trình chức năng như Haskell và R. Một biểu thức trong chương trình được cho là minh bạch nếu nó có thể được thay thế bằng giá trị của nó và hành vi kết quả là giống như trước khi thay đổi. Điều này có nghĩa là hành vi của chương trình không bị thay đổi cho dù đầu vào được sử dụng là tham chiếu hay giá trị thực mà tham chiếu đang trỏ đến.

Techopedia giải thích tính minh bạch tham chiếu

Tính minh bạch tham chiếu có nguồn gốc từ triết học phân tích, là một nhánh của triết học nghiên cứu các cấu trúc, lập luận và phát biểu ngôn ngữ tự nhiên dựa trên các phương pháp toán học và logic và ít liên quan đến lập trình, mặc dù nó đã được các nhà khoa học máy tính áp dụng.

Khái niệm này rất đơn giản, "tham chiếu", điều mà một biểu thức đề cập đến, có thể được sử dụng để thay thế "tham chiếu" mà không thay đổi ý nghĩa của biểu thức. Ví dụ: câu nói "Cha của Luke là một kẻ ác", "Cha của Luke" tham khảo "Darth Vader" trong truyền thuyết Star Wars. Vì vậy, tuyên bố minh bạch về mặt tham chiếu vì "cha của Luke" có thể được thay thế bất cứ lúc nào bằng "Darth Vader" và tuyên bố sẽ không thay đổi về ý nghĩa. Tuy nhiên, trong tuyên bố "khán giả không biết cho đến khi 'Đế chế tấn công trở lại' rằng cha của Luke thực sự là Darth Vader" không phải là một biểu hiện minh bạch về mặt tham chiếu vì nếu "cha của Luke" được thay thế bằng "Darth Vader" thì biểu thức trở thành " khán giả không biết cho đến khi 'Đế chế tấn công trở lại' rằng Darth Vader thực sự là Darth Vader, "có ý nghĩa hoàn toàn khác.

Liên quan đến lập trình, khái niệm thoạt nhìn giống nhau, nhưng nhiều nhà triết học không đồng ý rằng khái niệm này được triển khai hoặc thực hiện tốt trong các ngôn ngữ lập trình. Nhưng trong lập trình chung, điều này đơn giản có nghĩa là một biểu thức có thể được thay thế bằng giá trị kết quả của nó mà không ảnh hưởng đến hành vi của chương trình. Ví dụ, hàm plusOne (x) chỉ cần thêm một vào bất kể giá trị của x là gì, vì vậy nếu chúng ta biết rằng x = 5 thì chúng ta có thể thay thế hàm một cách an toàn bằng giá trị 6 trong một biểu thức mang lại hành vi tương tự khi sử dụng plusOne (x). Nhưng nếu có một biến ngoài trong biểu thức được điều khiển bên ngoài, hãy nói trong hàm plusY (x) trong đó Y trong hàm được kiểm soát bên ngoài, hành vi kết quả có thể không giống nhau - trong trường hợp này không phải là minh bạch tham chiếu biểu hiện.

Minh bạch tham chiếu là gì? - định nghĩa từ techopedia