
هنر خواندن کد دیگران؛ مهارتی که از آن غافلیم
وقتی صحبت از برنامهنویسی میشود، همه بر روی نوشتن کد تأکید دارند. دورههای آموزشی، کتابها و مقالات بیشماری به شما یاد میدهند که چگونه کد بنویسید، اما به ندرت کسی به شما میگوید که چگونه کد دیگران را بخوانید. این در حالی است که یک برنامهنویس حرفهای، روزانه زمان بیشتری را صرف خواندن کد همکاران، مستندات متنباز یا کدهای قدیمی پروژه میکند تا نوشتن کد جدید. خواندن کد دیگران، یک مهارت مجزا و حیاتی است که میتواند شما را از یک برنامهنویس متوسط به یک برنامهنویس بینظیر تبدیل کند. در این مطلب، سه کلید اصلی برای تسلط بر این هنر را با شما به اشتراک میگذارم.
۱. ابتدا به نقشه نگاه کنید، نه به جزئیات
بزرگترین اشتباهی که هنگام مواجهه با یک کد ناآشنا مرتکب میشوید، این است که از همان خط اول شروع به خواندن خطبهخط میکنید. این کار شما را در انبوهی از متغیرها و حلقهها گم میکند. به جای این کار، مانند یک مسافر عمل کنید که ابتدا نقشهٔ یک شهر را نگاه میکند، بعد وارد کوچهپسکوچهها میشود. ابتدا ساختار کلی پروژه را بررسی کنید: فایلها و پوشهها چگونه چیده شدهاند؟ نقاط ورود و خروج برنامه کجاست؟ توابع اصلی و کلاسهای کلیدی کدامند؟ با خواندن فایلهای راهنما (README) و مستندات سطح بالا، یک تصویر ذهنی از معماری پروژه بسازید. تنها پس از آنکه نقشهٔ کلی را در ذهن داشتید، سراغ جزییات بروید.
۲. با داستان شروع کنید، نه با دستورات
کد در نهایت برای حل یک مشکل یا ایجاد یک قابلیت نوشته شده است. سعی کنید ابتدا بفهمید که این کد «چه کاری» انجام میدهد، نه اینکه «چطور» انجام میدهد. برای این کار، توابع اصلی را پیدا کنید و نام آنها را بخوانید. برنامهنویسان خوب، نامهای معناداری برای توابع انتخاب میکنند که کارکرد آنها را توضیح میدهند. به دنبال تابعی بگردید که داستان اصلی را روایت میکند؛ مثلاً تابعی به نام sendEmail() یا calculatePrice(). با خواندن نام توابع، میتوانید بدون اینکه حتی یک خط کد را بخوانید، جریان کلی برنامه را حدس بزنید. این کار مانند خواندن عنوان فصلهای یک کتاب است؛ شما را با داستان اصلی آشنا میکند.
۳. از ابزارهای کمکی غافل نشوید
مغز انسان برای درک همزمان صدها خط کد طراحی نشده است. پس از ابزارهای موجود بهره ببرید. یک محیط توسعه (IDE) خوب، با قابلیتهایی مانند «رفتن به تعریف تابع» (Go to Definition)، «یافتن همهٔ موارد استفاده» (Find All References) و نمایش ساختار درختی کد، میتواند به شما کمک کند تا ارتباط بین بخشهای مختلف را سریعتر درک کنید. همچنین، اجرای کد در حالت اشکالزدایی (Debug) و قدمبهقدم جلو رفتن در آن، بهترین راه برای دیدن جریان داده و تغییرات متغیرها است. به جای خیرهشدن به کدهای ایستا، برنامه را اجرا کنید و ببینید که در لحظه چه اتفاقی میافتد.

