کوڈ کی خرابی (Code Rot) کو روکنے کی ایک سادہ سی نام رکھنے کی ترکیب
اپنی کلاسز کو Service، Manager، یا Handler کا نام دینا بند کریں۔
یہ نام مبہم ہیں۔ یہ ناقص ڈیزائن کے لیے ایک اجازت نامے کا کام کرتے ہیں۔
اگر آپ کسی کلاس کا نام UserService رکھتے ہیں، تو آپ اس کے اندر صارف (user) سے متعلق کچھ بھی رکھ سکتے ہیں۔ آپ پاس ورڈ ری سیٹ، رول اسائنمنٹ، اور ڈسکاؤنٹ کیلکولیشنز شامل کر سکتے ہیں۔ ان سب میں صارف شامل ہے، اس لیے یہ نام درست محسوس ہوتا ہے۔
لیکن ان کاموں کے قواعد اور انحصار (dependencies) مختلف ہوتے ہیں۔ ایک ہی UserService ایک بہت بڑا انتشار بن جاتا ہے۔
اس کے بجائے 'agentive naming' آزمائیں۔ ایسے نام استعمال کریں جو کسی مخصوص عمل کی وضاحت کریں:
• UserRegistrar • PasswordResetter • RoleAssigner • DiscountCalculator
یہ نام رکاوٹ (friction) پیدا کرتے ہیں۔ اگر PasswordResetter کو اچانک انوائسز تیار کرنے کے لیے کسی ٹول کی ضرورت پڑتی ہے، تو غلطی واضح ہو جاتی ہے۔ نام ناقص ڈیزائن کو نظر انداز کرنا مشکل بنا دیتا ہے۔
UserService جیسا مبہم نام پروگرامنگ میں "any" ٹائپ کی طرح ہے۔ یہ ہر چیز کو قبول کر لیتا ہے۔ درست اور واضح نام حدود (boundaries) قائم کرتے ہیں۔
AI کی وجہ سے اب یہ بات زیادہ اہمیت رکھتی ہے۔
AI کوڈنگ ایجنٹس یہ فیصلہ کرنے کے لیے کہ نیا لاجک (logic) کہاں رکھنا ہے، آپ کے موجودہ کوڈ کا جائزہ لیتے ہیں۔ اگر آپ AI کو UserService دیتے ہیں، تو وہ اسی بکھری ہوئی کلاس میں نئے فیچرز شامل کر دے گا۔ وہ یہ کام بہت تیزی سے کرے گا۔
اگر آپ AI کو PasswordResetter دیتے ہیں، تو وہ اسی مخصوص حد کے اندر رہے گا۔
آپ کا کوڈ بیس (codebase) AI کے لیے ایک پرامپٹ (prompt) ہے۔ مبہم نام مبہم ڈیزائن سکھاتے ہیں۔
نام اچھی آرکیٹیکچر (architecture) تخلیق نہیں کرتے۔ وہ ناقص آرکیٹیکچر کو نمایاں کر دیتے ہیں۔
ہر ذمہ داری کو اتنا درست نام دیں کہ غیر متعلقہ کوڈ غیر ایماندارانہ معلوم ہو۔
Source: https://dev.to/caeus/one-simple-naming-trick-that-keeps-vibe-coded-code-from-rotting-5hf5
Optional learning community: https://t.me/GyaanSetuAi