وقتی صحبت از چگونه یک برنامه نویس خوب شدن به میان میآید، همواره یک سری عادات خاص هستند که بلافاصله در ذهن همهی ما ظاهر میشود.
برخی از عادات هستند که اکثر برنامه نویسان آنها را عالی میدانند، اما در واقعیت، اکثر آنها خود این عادتها را ندارند. همانطور که همه ما میدانیم، ما با عادتهای خود تعریف میشویم. برای تبدیل شدن به یک برنامهنویس بهتر، باید تلاش کنیم عادتهای عالیِ برنامه نویسی در خود ایجاد کنیم.
در این اینجا شش عادت عالیِ برنامه نویسی وجود دارد که باید تلاش کنید در خود ایجاد کنید و هرگز از آنها جدا نشوید.
1. کدهای خود را بهبود ببخشید
یک عادت عالی در برنامه نویسی این است که هرگاه یک قطعه کد را تغییر میدهید، باید تلاش کنید تا آن کد را بهبود ببخشید، فرق نمیکند که فقط یک خط کد را اصلاح میکنید یا یک ویژگی کاملاً جدید را به کد اضافه میکنید.
رابرت سی مارتین در رابطه با این عادت حرف بسیار خوبی میزند که بر اساس قانون پیشآهنگ پسرها (the Boy Scout Rule) است:« همیشه اجازه دهید کدی که اصلاح میکنید بهتر از زمانی باشد که آ نرا پیدا کردهاید».
شما با خواندن برخی از کدها از اینکه چگونه نکتههای خیلی کوچک باعث بهبود بخشیدن به کد میشوند متعجب میشوید.
تغییراتی که ایجاد میکنید میتواند در حد تغییر نام یک متغییر یا یک تابع کوچک باشد. فقط مطمئن شوید که در هربار که میخواهید تغییری ایجاد کنید حداقل یکبار عمل بهبودسازی را انجام داده باشید. در این صورت شما کدها را در حالتی بسیار بهتر و حجم کمتری باقی میگذارید.
دلیل داشتن چنین عادت خوبی این است که مدام یاد میگیریم. کارهایی که دیروز خوب بهنظر میرسید، امروز میتوانند به روشی دیگر بهتر انجام شوند. کد به مرور زمان پوسیده میشود. بنابراین مراقبت از کد برای حفظ آن ضروری است.
2. به این فکر کنید که نفر بعدی کیست؟
هر زمان که قطعه کدی را مینویسید، باید همواره فکر کنید که برنامه نویس بعدیای که این قطعه کد را میبیند واقعاً چه چیزی پیدا میکند. آن قطعه کد را باید با این ذهنیت بنویسید که تا حد امکان ساده و قابل فهم باشد. نسبت زمان صرف شده برای خواندن کد درمقابل نوشتن کد باید بیش از 10 به 1 باشد. این به این معنی است که اگر شما کمی بیشتر تلاش کنید تا کدهایتان قابل خواندن باشد در طولانی مدت زمان بیشتری را صرفهجویی کردهاید.
زمان کدزدن فانتزی نباشد، کدهای ساده بنویسید که همه بتوانند بفهمند. واقعاً نیازی نیست کدهای جادوییِ تکخطی استک اورفلو (Stack Overflow) را که حتی خودتان هم نمیتوانید بفهمید کپی کنید.
3. آنچه را که واقعاً نیاز است انجام دهید، نه بیشتر
توسعهدهندگان عادت عجیبی که دارند این است که یک کار را بیشتر از حد نیاز انجام میدهند. وقتی که یک ویژگی خاص درخواست میشود بیشتر توسعهدهندگان خیلی بیشتر از آن ویژگی خاص را میسازند و تحویل میدهند. این چیزی است که ما آنرا overengineering مینامیم. کدی که مینویسند قویتر و یا پیچیدهتر از حد ضروری است. نکتهای که در overengineering وجود دارد این است که هیچ دلیلی ندارد تا این کار را انجام دهند. توسعه دهندگان بیشتر اوقات دلیل اینکه بیش از آنچه لازم است را میسازند، مبتنی بر حدس و گمانشان است. براساس افکار خود کدی را اضافه میکند که ممکن است در آینده مفید باشد. این قطعه کد به پایه کد اضافه میشود. اما احتمالاً هرگز مورد استفاده قرار نمیگیرد.
overengineering میتواند کد را به سمتی سوق دهد که بیشتر حالت عمومی دارد و این باعث میشود کد از مسیر اصلی خود که برای آن طراحی شده است خارج شود.
4. کد خود را با برنامه پیش ببرید
برنامه نویسان واقعی دوست دارند فقط و فقط یک کار را انجام دهند، و آن برنامه نویسی است. این واقعاً نباید شما را شُکه کند. نکته واضحی که وجود دارد این است که برنامه نویسان مستقیماً به بخشی پرش میکنند که دوستش دارند، زمانی که وظیفه خاصی را برعهده میگیرند.
و بلافاصله کد زدن را آغاز میکنند.
عجله کردن در کد زدن ابتدا ممکن است مهیج بنظر برسد. اما بههرحال، این هیجان ممکن است در نهایت هزینه زیادی برای شما بگذارد. وقتی که مستقیماً به قسمت کد زدن پرش میکنید، شما در نهایت هدف بزرگتر را از دست میدهید.
قبل از شروع به کد زدن، شما نیاز به برنامهریزی و سازماندهی پروژه دارید. به مشکلاتی که در طول مسیر ممکن است با آنها مواجه شوید و چگونگی مقابله با آنها فکر کنید. چگونه میتوانید شالوده اصلی کد خود را بسازید؟ چه دلیلی وجود دارد که باید یک ویژگی و قابلیت را در آن پیاده سازی کنید؟
اینها سوالات بسیار خوبی است که میتوانید قبل از شروع به کد زدن از خود بپرسید. این سوالات میتوانند شما را از این واقعیت که قبل از کد زدن باید درمورد آن خوب فکر کنید آگاه سازند.
5. مستند سازی
بله، میدانم... مطمئناً در این لیست عادتها این عادت جذاب و جالبی نیست اما خیلی مهم است که این عادت را داشته باشید. مستند سازی کدهایتان کاری بشدت مهم است. تاکنون مجبور به بررسی کردن مخزنی شدهاید که هیچ مستندی درباره اینکه چگونه تنظیمات را بهدرستی انجام دهید و یا آن اپلیکیشن دقیقاً چگونه کار میکند ندارد؟
بعد از خواندن کد در چندین ساعت، احتمال این وجود دارد که باز هم هیچ سرنخی پیدا نکنید. این همان زمانی است که شما آرزو میکردید ایکاش آن مخزن مستند داشت.
به عنوان یک راهحل ساده و حداقلی، من معمولاً یک فایل readme.md مناسب را پیشنهاد میکنم تا توضیح دهد دقیقاً برنامه شما چگونه کار میکند و چگونه میتوان آن را درست اجرا کرد.
مهیجترین بخش مستندسازی این است که میتوانید آن را همراه با کد زدن کامل کنید. زمانی را صرف این کنید که متغییرهایتان را توصیف کنید. این کار را خودتان انجام دهید. نامهای خوب برای متغییرها، توابع و کلاسها انتخاب کردن قطعاً زمانبر است،اما با این حال باعث میشود زمان بیشتری هنگام بررسی کد صرفهجویی شود.
اگر میخواهید درمورد اینکه چگونه میتوانید نامهای با معنیتری برای متغییرها در کدتان بسازید، این مقاله که نوشتم بخوانید.
6. هیچگاه یادگیری را متوقف نکنید
همانطور که اسحاق آسیموف گفت، «روزی که شما یادگیری را متوقف میکنید، روزی است که شروع به پوسیده شدن میکنید». این امر خصوصاً در حوزه فناوری صادق است، جایی که همهچیز با سرعت تغییر میکند. این غیر ممکن است هرچیزی را که تغییر میکند یاد بگیرید، و حتی اگر میتوانستید، من آن را توصیه نمیکردم. اما خوب است هرچند وقت یکبار یک فریمورک جدید و یا یک زبان جدید را یاد بگیرید.
این به این معنا نیست که شما باید در همه این زبانها و فریمورکها متخصص شوید، خوب است که آنها را امتحان کنید تا ببینید آنها را دوست دارید یا نه.
شما در مورد چگونگی حل برخی مشکلات در زبانهای برنامه نویسی یا فریمورکهای دیگر که به شما در رشد برنامه نویسان کمک میکند، میتوانید بینشهای جدید زیادی کسب کنید.
خلاصه
هنگاهی که میخواهید خود را به عنوان یک برنامه نویس متمایز کنید، عادتهای بیشماری وجود دارند که میتوانید در خود ایجاد کنید. ما بیش از شش مورد از این عادات را که اکثر برنامه نویسان ندارند، دیدیم.
اینها خلاصه این عادتهایی است که میتوانید در خود ایجاد کنید:
- کدهای خود را بهبود ببخشید.
- به این فکر کنید که نفر بعدی که به کار شما نگاه میکند، کار شما را چگونه میبیند.
- کارهارا بیش از حد لازم انجام ندهید.
- کد خود را با برنامه پیش ببرید.
- کار خود را مستندسازی کنید.
- هرگز یادگیری را متوقف نکنید.
یکبار برای همیشه تلاش کنید تا این عادات را در خود ایجاد کنید. به یاد داشته باشید که این کار زمان و مقاومت زیاد میخواهد و این اتفاق یک شبه نخواهد افتاد.
ممنون که مطالعه کردید.
دیدگاه و پرسش
در حال دریافت نظرات از سرور، لطفا منتظر بمانید
در حال دریافت نظرات از سرور، لطفا منتظر بمانید