Breaking Stuff: آشنایی با روش مهندسی معکوس در یادگیری برنامه‌نویسی

Breaking Stuff: آشنایی با روش مهندسی معکوس در یادگیری برنامه‌نویسی

وقتی با دانستن یک الی دو زبان اقدام به یادگیری زبان برنامه‌نویسی جدیدی می‌کنیم، یک استراتژی برای درک زیر و بم سینتکس زبان مد نظر استفاده از مهندسی معکوس است که اصطلاحاً Breaking Stuff نامیده می‌شود که کمتر به اهمیت این روش برای یادگیری اشاره می‌شود و این در حالی‌ است که این استراتژی برای یادگیری یک زبان جدید می‌تواند مفید واقع گردد.

درک سازوکار کدی که قبلاً توسط دولوپر دیگری نوشته شده و در عین حال هیچ‌گونه مستنداتی هم برایش وجود ندارد یک مهارت ضروری برای برنامه‌نویسان حرفه‌اس است چرا که برای ایشان چنین چیزی رایج است که کدی را ادامه بدهند که خود آن‌ را ننوشته‌اند. در حقیقت، احتمالاً برای شما هم پیش می‌آید تا مجبور به استفاده از روش مهندسی معکوس شوید بدین شکل که مثلاً برای یادگیری برنامه‌نویسی سه‌بُعدی در مرورگر با استفاده از لایبرری Three.js، منابع آموزشی خیلی خوبی به زبان فارسی وجود ندارد در حالی‌ که خودِ Three.js یک بسیار لایبرری ارزشمند است. در پاسخ به این پرسش که چگونه می‌توان برنامه‌نویسی را بدون استفاده از منابع راهنما یاد گرفت، می‌توان به مهندسی معکوس اشاره کرد که برای روشن‌تر شدن این مسأله، مثالی از لایبرری فوق‌الذکر می‌زنیم:

var light = new THREE.PointLight(0xffffff);
light.position.set(-100,200,100);
scene.add(light);

قاعدتاً یک دولوپر باتجربه باید بتواند کد بالا را خوانده و بخش قابل‌توجهی از اتفاقاتی که در این قطعه کد می‌افتد را درک کند اما اگر عملکرد بخشی از کد را متوجه نشویم یا در مورد نحوهٔ کارکرد آن مطمئن نباشیم، می‌توان تکنیک‌های زیر را یک به یک آزمایش کرد:

- یک خط را برای درک بهتر کارکرد آن کامنت کنید (حتی اگر فکر می‌کنید کار یک خط را می‌دانید، این کار را برای اثبات حدس خود انجام دهید.)
- مقدار متغیرها و توابع ریاضیاتی را تغییر دهید تا ببینید آیا می‌توانید در خروجی تغییری ایجاد کنید.
- نظم خطوط مختلف برنامه را به هم بریزید تا متوجه شوید که ترتیب خطوط برای رسیدن به هدف نهایی کد اهمیت دارد یا خیر.

گرچه این رویکرد خیلی بهینه نیست و گاهی اوقات زمان‌بر است، اما در برخی مواقع برای درک چگونگی منطق اپلیکیشن پیش رو می‌تواند مثمرثمر واقع گردد.



آتنا ستوده