JavaScript کوڈ کی فارمیٹنگ اور کمپریشن
JavaScript ڈویلپمنٹ میں کوڈ کو پڑھنے کے قابل بنانا اور اس کے فائل سائز کو کم کرنا دو اہم ترین مراحل ہیں۔ جب کوڈ لکھا جاتا ہے، تو ڈویلپرز اپنی سہولت کے لیے اس میں انڈینٹیشن، خالی جگہیں (whitespace) اور تبصرے (comments) شامل کرتے ہیں تاکہ اسے سمجھنا اور ڈی بگ کرنا آسان ہو۔ تاہم، براؤزر کو اسکرپٹ چلانے کے لیے ان اضافی حروف کی ضرورت نہیں ہوتی۔ یہ اضافی حروف فائل کا سائز بڑھاتے ہیں جس سے ویب پیج لوڈ ہونے کی رفتار سست ہو جاتی ہے۔
کوڈ بیوٹی فکیشن کا مقصد مبہم یا منی فائیڈ کوڈ کو دوبارہ انسانی آنکھ کے لیے پڑھنے کے قابل بنانا ہے۔ اس کے برعکس، کوڈ منی فکیشن کا مقصد پروڈکشن ماحول کے لیے اسکرپٹس کو کمپریس کرنا ہے تاکہ ویب پرفارمنس کو بہتر بنایا جا سکے۔ ان دونوں تکنیکوں کے درمیان توازن کو سمجھنا کوڈ کی دیکھ بھال اور ویب سائٹ کی رفتار دونوں کے لیے ضروری ہے۔
بیوٹی فکیشن اور منی فکیشن کے تکنیکی اصول
جب آپ JavaScript کو بیوٹی فائی کرتے ہیں، تو ٹول کوڈ کے ڈھانچے کا تجزیہ کرتا ہے اور منتخب کردہ اسٹائل کے مطابق انڈینٹیشن اور اسپیسنگ کا اضافہ کرتا ہے۔ اس ٹول میں بیوٹی فائی کرتے وقت درج ذیل انڈینٹ اسٹائلز کا انتخاب کیا جا سکتا ہے:
- 2 spaces
- 4 spaces
- Tab
منی فکیشن کے دوران، ٹول کوڈ سے تمام غیر ضروری خالی جگہیں، تبصرے اور ایسا کوڈ جو کبھی رن نہیں ہو سکتا (dead code) خارج کر دیتا ہے۔ تاہم، لائسنس کی معلومات کو محفوظ رکھنے کے لیے، یہ ٹول منی فکیشن کے دوران بھی /*! … */ والے لائسنس بینرز کو حذف نہیں کرتا اور انہیں برقرار رکھتا ہے۔
منی فکیشن کے وقت لوکل ویری ایبلز کے ناموں کو سنبھالنے کے لیے دو طریقے دستیاب ہیں:
- مختصر کریں (Shorten): یہ لوکل ویری ایبلز کے ناموں کو تبدیل کر کے صرف ایک حرف کا کر دیتا ہے تاکہ فائل کا سائز ممکنہ حد تک کم سے کم ہو جائے۔
- برقرار رکھیں (Keep): یہ لوکل ویری ایبلز کے اصل ناموں کو تبدیل نہیں کرتا، جس سے فائل کا سائز تو تھوڑا بڑا رہتا ہے لیکن کوڈ کو پڑھنا اور ڈی بگ کرنا آسان ہوتا ہے۔
ٹول کی ان پٹ اور آؤٹ پٹ کی خصوصیات
اس ٹول میں پروسیسنگ کے لیے واضح حدود اور آؤٹ پٹ میٹرکس متعین ہیں۔
ان پٹ کی حد
- JavaScript ان پٹ: آپ اسکرپٹ کو پیسٹ یا ٹائپ کر سکتے ہیں۔
- زیادہ سے زیادہ سائز: ان پٹ کوڈ کی حد 3,000,000 حروف تک محدود ہے۔
آؤٹ پٹ میٹرکس اور فائل
پروسیسنگ مکمل ہونے کے بعد، آؤٹ پٹ ایریا میں درج ذیل معلومات ظاہر ہوتی ہیں:
- لائنیں: آؤٹ پٹ کوڈ میں موجود کل لائنوں کی تعداد۔
- حروف: آؤٹ پٹ کوڈ کے کل حروف کی تعداد۔
- سائز: UTF-8 بائٹس میں فائل کا کل سائز۔
- script.js: پروسیس شدہ کوڈ ایک ریڈ-اونلی ایڈیٹر میں دکھایا جاتا ہے جسے کاپی یا ڈاؤن لوڈ کیا جا سکتا ہے۔
خرابیوں کے پیغامات اور ان کا حل
مختلف حالات اور ان پٹ کے معیار کے مطابق ٹول درج ذیل پیغامات اور انتباہات ظاہر کرتا ہے:
| حالت / وجہ | ظاہر ہونے والا پیغام |
|---|---|
| ان پٹ کا سائز 3,000,000 حروف سے زیادہ ہونا | یہ فائل پروسیس کرنے کے لیے بہت بڑی ہے۔ کوئی چھوٹی فائل آزمائیں۔ |
| پروسیسنگ کا وقت 20 سیکنڈ سے زیادہ ہو جانا | اس میں بہت زیادہ وقت لگا اور عمل روک دیا گیا — کوئی چھوٹی فائل آزمائیں۔ |
| کوڈ میں سنٹیکس (syntax) کی غلطی ہونا | اس JavaScript پر کارروائی نہیں کی جا سکی۔ |
| منی فکیشن کے بعد کوئی رن ایبل کوڈ باقی نہ بچنا | منی فائی کرنے کے بعد کچھ نہیں بچا — ان پٹ میں کوئی رن ایبل کوڈ نہیں تھا۔ |
| کامیاب منی فکیشن کے بعد سائز میں کمی کی فیصد | منی فائی کر دیا گیا — {pct}% چھوٹا۔ |
اگر ان پٹ ایریا خالی ہو، تو ٹول بغیر کسی پیغام کے "ready" حالت میں رہتا ہے۔ جب آپ "صاف کریں" پر کلک کرتے ہیں، تو ان پٹ، آؤٹ پٹ اور محفوظ شدہ ڈرافٹ مکمل طور پر ختم ہو جاتے ہیں۔
ڈیٹا پروسیسنگ اور رازداری
اس ٹول کو استعمال کرتے وقت آپ کی رازداری کا مکمل خیال رکھا جاتا ہے۔ آپ کا درج کردہ تمام JavaScript کوڈ آپ کے اپنے براؤزر کے اندر ہی فارمیٹ اور منی فائی کیا جاتا ہے۔ BroBroGo پر کوئی بھی کوڈ یا فائل اپ لوڈ نہیں کی جاتی، جس سے یہ یقینی بنتا ہے کہ آپ کا ڈیٹا مقامی طور پر آپ کے کمپیوٹر پر ہی پروسیس ہوتا ہے۔
اکثر پوچھے گئے سوالات (FAQ)
بیوٹی فائی اور منی فائی میں کیا فرق ہے؟
بیوٹی فائی کوڈ کے انڈینٹ اور اسپیسنگ کو درست کرتا ہے تاکہ اسے پڑھنا اور سمجھنا آسان ہو — یہ کسی منی فائی یا مبہم (obfuscated) فائل کو سمجھنے کا تیز ترین طریقہ ہے۔ منی فائی اس کے برعکس کام کرتا ہے: یہ خالی جگہوں، تبصروں اور غیر استعمال شدہ کوڈ کو ختم کر دیتا ہے تاکہ فائل تیزی سے ڈاؤن لوڈ ہو۔ پڑھنے کے لیے بیوٹی فائی کریں، پبلش کرنے کے لیے منی فائی کریں۔
کیا یہ منی فائیڈ کوڈ کو دوبارہ اصل شکل میں تبدیل کر سکتا ہے؟
یہ انڈینٹیشن اور لائن بریکس کو بحال کر دیتا ہے تاکہ لاجک کو دوبارہ پڑھا جا سکے، لیکن یہ اصل ویری ایبلز کے نام یا تبصرے واپس نہیں لا سکتا — منی فائی کرنے سے وہ ہمیشہ کے لیے ختم ہو جاتے ہیں، اس لیے کوئی بھی ٹول انہیں دوبارہ حاصل نہیں کر سکتا۔ آپ کو وہی کوڈ واضح ترتیب کے ساتھ ملتا ہے۔
ناموں کے لیے Shorten اور Keep کے آپشنز کیا کرتے ہیں؟
دونوں ہی خالی جگہوں، تبصروں اور ناقابل رسائی کوڈ کو ختم کرتے ہیں، اور دونوں میں سے کوئی بھی آپ کے اسکرپٹ کے کام کرنے کے طریقے کو تبدیل نہیں کرتا۔ شارٹن (Shorten) لوکل ویری ایبلز کا نام بدل کر ایک حرف کا کر دیتا ہے تاکہ فائل کا سائز کم سے کم ہو سکے — یہ وہ فائل ہوتی ہے جسے آپ پبلش کرتے ہیں۔ کیپ (Keep) آپ کے ناموں کو ویسے ہی برقرار رکھتا ہے، جس سے فائل کا سائز تھوڑا بڑا رہتا ہے لیکن اسے پڑھنا اور ڈی بگ کرنا آسان ہوتا ہے۔