𝗧𝗵𝗲 𝗛𝗶𝗱𝗱𝗲𝗻 𝗪𝗼𝗿𝗸𝗳𝗹𝗼𝘄 𝗼𝗳 𝗣𝗿𝗼𝗳𝗲𝘀𝘀𝗶𝗼𝗻𝗮𝗹 𝗦𝗼𝗳𝘁𝘄𝗮𝗿𝗲 𝗗𝗲𝘃𝗲𝗹𝗼𝗽𝗲𝗿𝘀 پیشہ ور سافٹ ویئر ڈویلپرز کا پوشیدہ ورک فلو
زیادہ تر لوگ سمجھتے ہیں کہ سافٹ ویئر ڈویلپمنٹ کا مطلب صرف کوڈ ٹائپ کرنا ہے۔ وہ تصور کرتے ہیں کہ کوئی اندھیری اسکرین پر تیزی سے ٹائپنگ کر رہا ہے۔ یہ کام کا صرف 20 فیصد حصہ ہے۔
باقی 80 فیصد حصہ نظر نہیں آتا۔ یہ آپ کے ایک بھی لائن لکھنے سے پہلے ہوتا ہے۔ یہی کام ماہرین (pros) کو ان لوگوں سے الگ کرتا ہے جو سارا دن اپنی غلطیوں کو ٹھیک کرنے میں گزار دیتے ہیں۔
سینئر ڈویلپرز اپنا 20% سے 40% وقت منصوبہ بندی (planning) میں صرف کرتے ہیں۔ یہ کام کو ٹالنا (procrastination) نہیں ہے۔ یہ رسک مینجمنٹ (risk management) ہے۔ ایک بار کوڈ لائیو ہونے کے بعد اسے تبدیل کرنا مہنگا پڑتا ہے۔
منصوبہ بندی کا ایک ٹھوس مرحلہ کچھ اس طرح ہوتا ہے:
• مسئلے کو اپنے الفاظ میں دوبارہ بیان کریں۔ اگر آپ اسے سادہ الفاظ میں نہیں سمجھا سکتے، تو اس کا مطلب ہے کہ آپ ابھی تک اسے نہیں سمجھے۔ • حدود (constraints) کی نشاندہی کریں۔ رفتار، ڈیڈ لائنز اور موجودہ سسٹمز کے بارے میں سوچیں۔ • حل کا خاکہ بنائیں۔ ڈیٹا کے بہاؤ (data flow) کو سمجھنے کے لیے بلٹ پوائنٹس یا سادہ ڈائیگرامز کا استعمال کریں۔ • نامعلوم عوامل کی فہرست بنائیں۔ کام شروع کرنے سے پہلے معلوم کریں کہ آپ کو کن چیزوں پر تحقیق کرنے کی ضرورت ہے۔
پیشہ ور ڈویلپرز دستاویزات (documentation) پڑھنے میں بھی بہت وقت صرف کرتے ہیں۔ وہ صرف فورمز پر جوابات پر نظر نہیں ڈالتے، بلکہ وہ آفیشل API ریفرنسز اور سورس کوڈ پڑھتے ہیں۔ اس سے انہیں پرانے اور ناکارہ طریقوں سے بچنے اور ان 'ایج کیسز' (edge cases) کو تلاش کرنے میں مدد ملتی ہے جو پروڈکشن میں بگ (bugs) کا باعث بنتے ہیں۔
کسی بڑے کام کو شروع کرنے سے پہلے، ان عادات کو اپنائیں:
• موجودہ حل کا جائزہ لیں۔ وہ چیز نہ بنائیں جو پہلے سے موجود ہو۔ • فائدے اور نقصان (trade-offs) کا جائزہ لیں۔ فیصلہ کریں کہ کون سا ٹول آپ کی مخصوص ضروریات کے مطابق ہے۔ • پرخطر حصوں کا پروٹو ٹائپ بنائیں۔ یہ دیکھنے کے لیے کہ آیا کوئی آئیڈیا کام کرتا ہے یا نہیں، ایک چھوٹا سا ٹیسٹ اسکرپٹ لکھیں۔ • ساتھیوں سے پوچھیں۔ پانچ منٹ کی گفتگو گھنٹوں کے کام کو بچا سکتی ہے۔
جب آپ آخر کار کوڈ لکھتے ہیں، تو اپنے پڑھنے والے (audience) کو یاد رکھیں۔ آپ کا پڑھنے والا وہ اگلا شخص ہے جو آپ کے کام کو پڑھے گا۔ یہ شخص چھ ماہ بعد آپ خود بھی ہو سکتے ہیں۔
ایسا کوڈ لکھیں جو صاف ستھرا (clean) رہے:
• درست نام استعمال کریں۔ "data" جیسے عام ناموں سے پرہیز کریں۔ اس کے بجائے "pendingInvoices" استعمال کریں۔ • فنکشنز کو چھوٹا رکھیں۔ ایک فنکشن کو ایک کام مہارت سے کرنا چاہیے۔ • ایسے کمنٹس لکھیں جو "کیوں" کی وضاحت کریں نہ کہ "کیا" کی۔ کوڈ خود ظاہر کرتا ہے کہ وہ کیا کر رہا ہے۔ کمنٹس کو اس کی منطق (reasoning) کی وضاحت کرنی چاہیے۔ • ٹیم کے پیٹرنز کی پیروی کریں۔ ذاتی پسند کے مقابلے میں تسلسل (consistency) زیادہ اہم ہے۔
کوڈ ریویوز (code reviews) بھی انتہائی اہم ہیں۔ یہ صرف ایک رسمی کارروائی نہیں ہیں۔ یہ علم بانٹنے اور خطرات کو پکڑنے کا ایک طریقہ ہے۔ ایک اچھا ریویو صرف سنٹیکس (syntax) کے بجائے مقصد اور منطق (logic) پر توجہ مرکوز کرتا ہے۔
اصل انجینئرنگ سوچنے، پڑھنے اور تحقیق کرنے میں ہوتی ہے۔ ٹائپنگ تو صرف آخری مرحلہ ہے۔
Source: https://dev.to/lui_were/the-hidden-workflow-of-professional-software-developers-1d74