Minification (programming)
منیفیکیشن (کم سے کم یا کم سے کم بھی) تشریح شدہ پروگرامنگ زبانوں یا مارک اپ زبانوں کے سورس کوڈ سے تمام غیر ضروری حروف کو اس کی فعالیت کو تبدیل کیے بغیر ہٹانے کا عمل ہے۔ ان غیر ضروری حروف میں عام طور پر سفید جگہ کے حروف، نئے لائن حروف، تبصرے، اور بعض اوقات بلاک ڈیلیمیٹر شامل ہوتے ہیں، جو کوڈ میں پڑھنے کی اہلیت شامل کرنے کے لیے استعمال ہوتے ہیں لیکن اس پر عمل درآمد کے لیے ضروری نہیں ہوتے ہیں۔ منیفیکیشن سورس کوڈ کے سائز کو کم کر دیتا ہے، جس سے اسے نیٹ ورک پر منتقل کیا جاتا ہے (مثال کے طور پر۔ انٹرنیٹ) زیادہ موثر۔ پروگرامر کلچر میں، انتہائی چھوٹے سورس کوڈ کا مقصد تفریحی کوڈ گولف مقابلوں کا مقصد ہے۔ منیفیکیشن کو ڈیٹا کمپریشن کے زیادہ عام تصور سے اس لحاظ سے ممتاز کیا جا سکتا ہے کہ منیفائیڈ سورس کی تشریح بغیر کسی انکمپریشن مرحلے کی ضرورت کے فوری طور پر کی جا سکتی ہے: ایک ہی مترجم اصل کے ساتھ ساتھ منیفائیڈ سورس کے ساتھ بھی کام کر سکتا ہے۔ منیفیکیشن کے اہداف اوبسکیشن کے اہداف جیسے نہیں ہیں۔ سابقہ کا مقصد اکثر پریٹی پرنٹر یا ان منیفائر کا استعمال کرتے ہوئے الٹا کرنا ہوتا ہے۔ تاہم، اپنے اہداف کو حاصل کرنے کے لیے، منیفیکیشن بعض اوقات ایسی تکنیکوں کا استعمال کرتا ہے جو اوبسکیشن کے ذریعے بھی استعمال ہوتی ہیں ؛ مثال کے طور پر، متغیر ناموں کو مختصر کرنا اور سورس کوڈ کو ری فیکٹر کرنا۔ جب منیفیکیشن اس طرح کی تکنیکوں کا استعمال کرتا ہے، تو خوبصورت پرنٹر یا ان منیفائر صرف اس صورت میں منیفیکیشن کے عمل کو مکمل طور پر الٹ سکتا ہے جب اسے اس طرح کی تکنیکوں کے ذریعے کی جانے والی تبدیلیوں کی تفصیلات فراہم کی جائیں۔ اگر ان تفصیلات کو فراہم نہیں کیا جاتا ہے، تو الٹا سورس کوڈ مختلف متغیر ناموں اور کنٹرول فلو پر مشتمل ہوگا، حالانکہ اس میں اصل سورس کوڈ کی طرح ہی فعالیت ہوگی۔ مثال کے طور پر، جاوا اسکرپٹ کوڈ// یہ ایک تبصرہ ہے جسے منیفائر وار ایرے = [] کے ذریعے ہٹا دیا جائے گا ؛ کیونکہ (وار i = 0 ؛ i <20 ؛ i + +) {ایرے [i] = i ؛} برابر ہے لیکن اس سے طویل ہے (وار a = []، i = 0 ؛ i <20 ؛ a [i] = i + +) ؛ تاریخ 2001 میں ڈگلس کرک فورڈ نے جے ایس من متعارف کرایا، جس نے جاوا اسکرپٹ کوڈ سے تبصرے اور سپیس وائٹس کو ہٹا دیا۔ اس کے بعد 2007 میں YUI کمپریسر آیا۔ 2009 میں، گوگل نے اپنا کلوزر ٹول کٹ کھولا، جس میں کلوزر کمپائلر بھی شامل تھا جس میں ایک سورس میپنگ فیچر تھا جس کے ساتھ ایک فائر فاکس ایکسٹینشن تھی جسے کلوزر انسپکٹر کہا جاتا ہے۔ 2010 میں، میھائی بازون نے یوگلیفائی جے ایس متعارف کرایا، جسے 2012 میں یوگلیفائی جے ایس 2 نے ختم کر دیا تھا۔ دوبارہ لکھنے کا مقصد ماخذ نقشے کی حمایت کی اجازت دینا تھا۔ 2017 سے، الیکس لام نے یوگلیفائی جے ایس 2 کی دیکھ بھال اور ترقی کی ذمہ داری سنبھالی، اس کی جگہ یوگلیفائی جے ایس 3 نے لی جس نے سی ایل آئی کو اے پی آئی کے ساتھ متحد کیا۔ 2018 میں، Terser کو uglify-Es سے فورک کیا گیا ہے اور اس کے بعد سے اس نے رفتار حاصل کی ہے۔ 2020 میں جب روزانہ ڈاؤن لوڈ میں ماپا گیا تو اس نے UglifyJS کو پیچھے چھوڑ دیا۔ ماخذ نقشہ ایک فائل فارمیٹ ہے جو جاوا اسکرپٹ کے لیے سافٹ ویئر ٹولز کو صارف کو کمپیوٹر کے ذریعے اصل میں نافذ کردہ کوڈ سے مختلف کوڈ دکھانے کی اجازت دیتا ہے۔ مثال کے طور پر، منیفائیڈ کوڈ کو ڈیبگ کرنے میں مدد کے لیے، اس کے بجائے اس کوڈ کو اصل غیر منیفائیڈ سورس کوڈ میں "میپنگ" کرکے۔ اصل شکل جوزف شور نے کلوزر انسپکٹر منیفیکیشن پروجیکٹ کے حصے کے طور پر بنائی تھی۔ فارمیٹ کے ورژن 2 اور 3 نے نقشہ فائلوں کے سائز کو کافی حد تک کم کر دیا۔ ٹائپز ٹولز ویژول اسٹوڈیو کوڈ کئی زبانوں کے لیے منیفیکیشن سپورٹ کے ساتھ آتا ہے۔ یہ اضافی منی فائییرز کو ڈاؤن لوڈ اور انسٹال کرنے کے لیے آسانی سے ویژول اسٹوڈیو مارکیٹ پلیس کو براؤز کر سکتا ہے۔ جاوا اسکرپٹ آپٹیمائزر ماخذ نقشے کو چھوٹا اور تیار کر سکتے ہیں۔ اس کے علاوہ کچھ آن لائن ٹولز سی ایس ایس فائلوں کو کمپریس کر سکتے ہیں۔ ویب ایپلی کیشنز اور ویب سائٹس کے لیے ویب ڈویلپمنٹ اجزاء اور لائبریریوں کو فائل کی درخواستوں کو بہتر بنانے اور مختلف فائلوں کے سائز کو سکڑ کر پیج لوڈ کے اوقات کو کم کرنے کے لیے تیار کیا گیا ہے۔ جاوا اسکرپٹ اور کاسکیڈنگ اسٹائل شیٹ (سی ایس ایس) وسائل کو چھوٹا کیا جا سکتا ہے، ان کے طرز عمل کو برقرار رکھتے ہوئے ان کی فائل کے سائز کو کافی حد تک کم کیا جا سکتا ہے۔ آن لائن دستیاب کتب خانے مختلف ڈگریوں تک منیفیکیشن اور آپٹیمائزیشن کے قابل ہیں۔ کچھ لائبریریاں کلائنٹ ڈاؤن لوڈ کے لیے متعدد اسکرپٹ فائلوں کو ایک فائل میں ضم بھی کرتی ہیں۔ جاوا اسکرپٹ ماخذ نقشے کوڈ کو یکجا اور چھوٹا کرنے کے بعد بھی پڑھنے کے قابل اور ڈیبگبل بنا سکتے ہیں۔ حوالہ جات ماخذ کوڈ جاوا اسکرپٹ