اگر مشغول خواندن یک رمان پلیسی باشید، اتفاق خوشایندی است که مجبور شوید تمام فکر و حواستان را روی بخشی از کتاب متمرکز کنید تا بفهمید چه اتفاقی دارد میافتد. اما موقعی که مشغول خواندن کدی هستید، چنین اتفاقی اصلا خوشایند نیست. ممکن است در مورد خودتان تصور کنید که شما هم یکی از اعضای «مردان اسرار آمیز بینالمللی» (International Men of Mystery) هستید که کسی سر از کارتان در نمیآورد. قبول! با اینحال وقتی نوبت به کدتان میرسد، کدتان باید «رو زمینی» و «روشن و شفاف» باشد (به راحتی قابل درک و فاقد پیچیدگی غیرضروری و عناصر گیجکننده باشد).
یکی از مهمترین بخشهای یک کد روشن و شفاف، نامهای مناسبی است که در کد وجود دارد. و به همین دلیل است که ما در انتخاب اسامی توابع، ماژولها، متغیرها و کلاسها، دقت زیادی به خرج میدهیم. و به همین دلیل است که اسامی آنها به خوبی بیان میکنند چه کاری انجام میدهند و ما چگونه میتوانیم از آنها استفاده کنیم.
متاسفانه نامگذاری یکی از دو کار دشوار در برنامهنویسی است. و به همین دلیل است که پرکاربردترین تکنیک بازسازی کد (refactoring)، تغییر نام است.
افراد از این که نامها را در برنامه تغییر بدهند میترسند و فکر میکنند که این کار ارزش دردسرهای بعدیاش را ندارد. در حالی که نامگذاری درست و مناسب میتواند جلوی ساعتها گیجی و نفهمیدن کد را در آینده بگیرد.
نامگذاری فقط مهارت تغییر نامها نیست. معمولا ناتوانی شما در انتخاب نام مناسب برای یک عنصر نشان میدهد که مشکل عمیقتر و جدیتری در طراحی وجود دارد. نفهمیدن یک نام دشوار و نامفهوم در کد معمولا منجر به سادهسازیهای چشمگیر و قابلملاحظهای در آن میشود.
مرجع: Refactoring, 2nd Edition, by Martin Fowler.
گزیده:
[با وجود پیشرفت ابزار و تکنولوژی]، فرایند توسعهی نرمافزار نسبت به گذشته لزوما بهتر (راحتتر و خوشایندتر) نشده است.
راب پایک (یکی از خالقان زبان Go)
دیدگاهتان را بنویسید