عادات برنامه نویسان موفق یا چگونه برنامه نویس بهتری شویم

عادات زیربنای رفتار ما در شرایط مختلف زندگیند. آنها نقش مهمی در مسیر زندگی دارند. عادات خوب می‌توانند سبب موفقیت‌های بزرگ، سلامتی و شادی شوند و در کنار آنها عادات بد می‌توانند زمینه ساز بیماری، حال بد و شکست در زندگی باشند.شما که در حال مطالعه این مطلبید احتمالا برنامه نویس هستید و یا به برنامه نویسی علاقه دارید. حتما در طول روز زمان زیادی برای برنامه نویسی اختصاص میدین. در ادامه این مطلب هفت عادت موثر که باعث پیشرفت در برنامه نویسی می‌شوند را بررسی می‌کنیم.۱- کد تکراری ننویسیداگر در حال نوشتن کدی هستید که حس می‌کنید قبلا شبیه آن را نوشته‌اید، صبر کنید. دقیقا در شرایطی قرار دارید که باید از آن اجتناب کنید.کد تکراری برنامه را خراب می‌کند. کم کم تغییر دادن و اصلاح کد سخت‌تر می‌شود. هر بخش از کد را بخواهید اصلاح کنید، باید کل برنامه را جستجو کرده و هرجا که کد تکرار شده را تغییر دهید. به هر اندازه دقت کنید، باگ‌های کوچک و بزرگ کم کم در کدهای شما ظاهر خواهند شد.قانون DRY (Don't Repeat Yourself) را همیشه در نظر داشته باشید. نوشتن کد تکراری نشانه‌ای است برای اینکه متوجه شوید باید برنامه را ریفکتور کنید. کد و منطق برنامه را به بخش‌های کوچک تر تقسیم کنید و از آن بخش‌ها در جاهای مختلف که نیاز دارید استفاده کنید.۲- وقتی فکر می‌کنید کار تمام شده، ریفکتور کنیدخیلی از برنامه نویس‌ها، مخصوصا آنهایی که تازه کار هستند، فکر می‌کنند وقتی برنامه کار کند فرایند برنامه نویسی تمام شده. ولی برنامه نویسی فقط نوشتن کدی که کار کند نیست.حتما فکر می‌کنید، این کد که کار میکنه! منظورت چیه؟درسته، ولی حتما قبل از اینکه تسک بعدی رو شروع کنید ریفکتور کنین. پس از ریفکتور کردن خوانایی کد بهتر خواهد بود. احتمالا در لحظه اتمام کد نویسی حاصل کار بهترین و بهینه ترین کد ممکن نیست. از نظر خود شما برنامه‌ای که نوشتین خیلی واضح و سرراست است. ولی نظر بقیه برنامه نویس‌ها چیه؟ میتونن به راحتی کد شما رو متوجه بشن؟ریفکتور کردن پیچیدگی کد رو کاهش میده. همین کار کوچیک در دراز مدت نه تنها زمانی که واسه ریفکتور گذاشتین رو جبران می‌کنه بلکه زندگی شما رو به عنوان برنامه نویس راحت تر می‌کنه.۳- روی بیزنس تمرکز کنینبیشتر برنامه نویس‌ها انقدر روی استک و تکنولوژی برنامه نویسی و یادگیری اون تمرکز میکنن که بیزنس رو فراموش می‌کنن. توی مسیری که شروع کردین و سعی دارین که توی یک استک حرفه‌ای بشین بیزنس رو هم توی ذهنتون داشته باشید و بهش اهمیت بدین. باید بدونین که چرا یک محصول رو توسعه می‌دین.بعضی برنامه نویس‌ها فقط روی بخش تکنیکی کارشون تمرکز دارن. اونها اهمیتی به بزینس و فاکتورهای اقتصادی کارشون نمیدن.چیزی که الان روش کار می‌کنین آیا واقعا اهمیت داره و واسه کسب و کاری که توش هستین ارزش افزوده ایجاد می‌کنه یا اینکه فقط دارین وقت تلف میکنین و روی چیزی کار می‌کنین که اهمیتی نداره؟ این سوال مهمیه که باید از خودتون بپرسین.۴- کامیت‌های کوچککامیت‌های کوچک به برنامه نویس این امکان رو میده که توضیحات کاملی درباره کامیت در کامنتش بنویسه. مثلا «درست کردن چند مشکل» توضیحات کاملی برای یک کامیت نیست.اگر کامیت‌های کوچک تری داشته باشید دیباگ کردن کد هم ساده تر میشه. خیلی راحت تر می‌تونین به کامیت قبلی رول بک کنید و ببینین این اروری که ایجاد شده از این کامیت آخر بوده یا نه. وقتی کامیتی رو پیدا کردین که باگ رو ایجاد کرده کدهای زیادی نیست که باید بررسی کنین چون کامیت کوچیک بوده و کدها کم.کامیت‌های بزرگ پیامدهای بدی هم میتونن داشته باشن. چون حجم کد زیاده فهمیدن اینکه دقیقا چه اتفاقی افتاده هم سخت میشه.کسی که کد رو بررسی می‌کنه هم به مشکل میخوره. مرج کردن کد هم کار ترسناکی میشه. چون حجم کد زیادی قراره مرج بشه و ممکنه سیستم رو از کار بندازه.بررسی کد وقتی کامیت‌ها کوچیک تر هستن خیلی ساده تره زیرا در هر زمان میشه یک تغییر رو دید و دقیقا متوجه شد که چه کاری انجام شده.۵- ثبات نکته کلیدی استاگر تصمیم گرفتین متغیرها رو کمل کیس نام گذاری کنین روی همین تصمیمتون بمونین. اگر به جای تب از اسپیس استفاده می‌کنین روی همین تصمیم بمونین و اونو تغییر ندین. هر کاری که روی کدتون انجام میدین حداقل تا آخرش انجام بدین.وقتی که عدم ثبات داشته باشیم به مرور زمان برنامه به وضعیت غیر قابل کنترلی میرسه. افراد مختلف و تیم های جدید روی کد کار میکنن، هرچه این افراد بیشتر باشن و زمان بیشتری بگذره با یک آشفتگی و به هم ریختگی بیشتری در کد روبرو میشیم.خوب چکار کنیم که ثبات بیشتری داشته باشیم؟اولین کاری که باید انجام بدین اینه که یک استایل گاید انتخاب کنید. وقتی استایل گاید انتخاب شد به آن مقید باشید. می‌توانید از لینتر برای چک کردن کدها استفاده کنید.دومین کار نامگذاری یکنواخت است. متغیرها، متدها و کلاس‌ها باید به شکل مشخصی نام گذاری شوند. برای آشنایی بیشتر با روش‌های نام گذاری مقاله «راهنمای انتخاب نام برای برنامه نویسان!» را بخوانید.۶- همون بار اول کد رو تموم کنینبعدا درستش می‌کنم! قبلا همه ما این جمله رو شنیدیم. همه هم میدونیم چقدر بعدا درستش می‌کنیم. هیچ وقت. هروقت که یک کامنت TODO میبینین یعنی یک نفر همون بار اول کار رو انجام نداده و یک مقدار از کارش مونده.وقتی یک تسک رو شروع می‌کنین، انقدر روش کار کنین تا تموم بشه.حالا تموم شدن یعنی چی؟یعنی کد شما واسه شروع باید ریفکتور شده باشه. کد باید تست شده باشه و تست کردن هم واسه اکثر دولوپرها قسمت بدشه. ولی تست کردن فقط این نیست که یک سناریوی معمول رو که خیلی راحته، کلیک کنین برین جلو. مطمئن بشین سناریوهای دیگه رو هم تست می‌کنین. اگه میخواین کار بیشتری انجام بدین تست هم بنویسین.چیزی که میمونه داکیومنته. این ویژگی داکیومنت میخواد؟ به مسئول تست اطلاع دادین که این فیچر رو میشه تست کرد؟ آیا پیش نیازهایی واسه این ویژگی هست که لازم باشه مسئول تست بدونه؟۷- هیچ وقت از یادگیری دست نکشیدتکنولوژی ها هر روز در حال تغییرند. بعضی وقت‌ها خیلی سخت به نظر میرسه که بتونیم خودمون رو به تکنولوژی های روز برسونیم. پس هیچ وقت نباید از یادگیری دست بکشید. زیرا روزی که یادگیری رو ول کنین روزیه که پیشرفتتون متوقف میشه.یادگیری چیزهای جدید تنها راهیه که بتونیم در این عصر توسعه و پیشرفت سرسام آور، توانایی‌های خودمون رو بروز و بدرد بخور نگهداریم.هیچ وقت رشد نخواهید کرد، مگر اینکه سعی کنید کاری فراتر از چیزی که الان در آن استادید انجام دهید. «رالف والدو»