شفافية مرجعية
Sign in to saveproperty of a computer software expression or subroutine that replacing it in the code with its evaluated result does not change the program's behavior
Wikidata facts
- Instance of
- quality
Show 2 more facts
- facet of
- substitution
- characteristic of
- source code
Sources (1)
via Wikidata · CC0
Article · العربية
يشير كلا المصطلحين: الشفافية المرجعية (بالإنجليزية: Referential transparency) و العتامة المرجعية (بالإنجليزية: referential opaqueness) إلى خصائصٍ لأجزاءٍ من برمجيات الحاسوب. حيث يُقال أن (بالإنجليزية: Expression (computer science)) شفافٌ مرجعياً إن أُمْكِنَ استبداله (بالإنجليزية: Value (computer science)) بدون تغيير البرنامج (بصيغةٍ أخرى، إنتاج برنامج له نفس تأثيرات ومخرجات على نفس المدخل). في حين يعتبر النقيض لتلك العملية تعبيراً يُطلق عليه «عاتم مرجعياً». وبينما تكون كل تطبيقات الدوال الوظيفية في الرياضيات شفافةً مرجعياً، ففي برمجيات الحاسوب ليس الوضع هكذا دائماً. فأهمية الشفافية تتمثل في أنها تسمح للمبرمج والمترجم (المصرف) بتعليل وتبرير سلوك أداء برنامجٍ ما. وقد يساعد هذا في إثبات (بالإنجليزية: Correctness (computer science))، تبسيط الخوارزميات، المساعدة في تعديل الكود بدون كسره وتدميره، أو مواءمة الكود باستخدام وسائل التوازي أو إزالة التعابير الفرعية الشائعة (بالإنجليزية: common subexpression elimination). مما يجعل الشفافية المرجعية أحد مباديء البرمجة الوظيفية؛ حيث لا تتحول سوى الوظائف شفافة أو جلية المرجعية فقط إلى وظائفٍ مكافئةٍ أو مماثلةٍ تخبيء النتائج. فبعض لغات البرمجة توفِّر وسيلةً لضمان الشفافية المرجعية. في حين تُلزم بعض لغات البرمجة الوظيفية وجود الشفافية المرجعية لكل الوظائف جميعها. وبسبب أن الشفافية المرجعية تتطلب نفس النتائج لمجموعةٍ متاحةٍ من المدخلات في أي نقطةٍ زمنيةٍ، فنتيجةً لذلك يصبح التعبير الجلي أو الشفاف مرجعياً قطعي التعريف.
Abstract from DBpedia / Wikipedia · CC BY-SA