۳۵ عادت بد برنامه‌نویسان

گردآوری و تالیف : ارسطو عباسی
تاریخ انتشار : 31 مرداد 1397
دسته بندی ها : برنامه نویسی

شکستن عادت‌های بد کار سختی است و سخت‌تر از آن زمانی است که شما نتوانید به آن‌ها پی ببرید. اما اگر آن‌ها را می‌دانید ولی اعتنایی نمی‌کنید – این وضعیت واقعا بدی است. 

به عنوان یک برنامه‌نویس، رویکردهای ضعیف بسیاری را مشاهده کرده‌ام. البته نه فقط در رابطه با کدنویسی، بلکه در رابطه با کارهای تیمی نیز به همین صورت. به شخصه خودم هم گناهکار و درگیر این عادت‌های بد شده‌ام. در این مطلب می‌توانید ۳۵ عادت بد برنامه‌نویسی را که در چهار عنوان دسته‌بندی شده‌اند را مشاهده کنید: سازمان‌دهی کد، کار تیمی، کدنویسی و تست و نگه‌داری.

سازمانی‌دهی کد

۱. گفتن «بعد درست‌ش می‌کنم»

عادت به تعویق انداختن اصلاح کدها تنها یک مشکل در اولویت‌بندی کارها نیست. سازمان‌دهی کردن پیگیرهای مربوط به مشکلات مطمئنا پیشرفت‌هایی را برای‌تان ایجاد می‌کند، اما این موضوع را در نظر بگیرید که باید مشکلات کوچکتری را نیز در نظر بگیرید. استفاده کردن از لیست «TODO» می‌تواند راهی مناسب برای حل کارها باشد.

۲. قرار گرفتن روی راه‌حل یک خطی

وسواس داشتن در رابطه با نوشتن قطعه کدهای زیبا و کارآمد یکی از رفتارهای معمولی و همیشگی در بین برنامه‌نویسان است. این موضوع درست مانند حل کردن یک پازل است، شما راه حلی برای سریع‌تر نوشتن یا سریع‌تر حل کردن را پیدا می‌کنید. توابع مختلفی را با چند REGEX ترکیب می‌کنید و در نهایت قطعه کد بهینه‌تری دارید. اما متاسفانه چنین موضوعی همیشه نتیجه‌ای با قابلیت خوانایی بالا را برای‌تان نخواهد داشت. بنابراین ابتدای کار سعی کنید که کدهای‌تان را با قابلیت دسترسی‌پذیری ارائه دهید و بعد آن‌ها را بهتر کنید.

۳. ایجاد بهینه‌سازی‌های بی معنی

یکی دیگر از حالاتی که ما معمولا تلاش بسیاری برای آن می‌کنیم و گاهی به صورت بی مفهوم این کار را انجام می‌دهیم، بهینه‌سازی است. اینکه حجم وبسایت‌تان را تا چند بایت کاهش دهید به نظر عالی می‌رسد اما آیا Gzip این کار را برای‌تان انجام نمی‌دهد؟ به نظرتان بهینه‌سازی کردن درخواست‌ها کار منطقی‌تری نیست. بسیاری از اوقات تلاش برای بهینه‌سازی برخی از موارد تنها سبب تلف کردن وقت‌تان می‌شود.

۴. متقاعد کردن خود با این موضوع که استایل‌دهی چندان مهم نیست

اگر در طول این سال‌ها یک چیز را از کدنویسان اطرافم متوجه شده باشم آن این است که اغلب‌شان دوست دارند روند استایل‌دهی به کدهای‌شان به عقب بیافتد. ممکن است ارزش این کار توسط یک کدنویس مبتدی درک نشود اما با گذر زمان متوجه خواهند شد که استایل داشتن یک کد می‌تواند تاثیر بسیار مثبتی روی بهینه بودن پروژه داشته باشد. در مورد بهترین رویکردها –حتی اگر ناچیز باشند-سختگیر باشید. 

سعی کنید یکسری ابزارها را برای بررسی کد و خطاها در اختیار داشته باشید تا همواره چیزهای مهم را ببینید.

۵. جارو کردن و انداختن چیزها زیر قالیچه

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

۶. استفاده کردن از نام‌هایی که اطلاعاتی به شما نمی‌دهند

نام‌گذاری مسئله سختی‌ است، اما راه ساده‌ای برای اینکه ببینید متغیرها و توابع به درستی نامگذاری شده‌اند وجود دارد. اگر بتوانید نام‌گذاری های مفهومی داشته باشید نتیجه آن داشتن کدهایی خواهد بود که قابلیت خوانایی بالایی دارند. دلیل اینکه نام‌گذاری مهم است این است که تنها از طریق همین نام‌گذاری می‌شود کاربرد و کارایی کدها را مشاهده کرد. پس برای اینکه متوجه شوید چه قسمت‌هایی از کد چکاری را انجام می‌دهند تنها کافی‌ست به آن‌ها نگاه کنید، نیازی نیست که حتما آن را اجرا نمایید.

۷. چشم‌پوشی کردن از بهترین رویکردها

بازبینی کدها، توسعه تست محور، کنترل کیفیت، خودکارسازی و رویکردهای بسیار دیگری وجود دارند که خودشان را در پروژه‌های بسیاری اثبات کرده‌اند. به همین دلیل است که توسعه‌دهندگان بسیاری در مورد آن‌ها مطالبی می‌نویسند. زمانی را بگذارید برای اینکه کارکرد این رویکردها را بهتر متوجه شوید و آن‌ها را بهتر بشناسید. 

کارهای تیمی

۸. زود رها کردن طرح‌ها

بدون شک یکی از راه‌های به خطر انداختن یک پروژه، تعهد نداشتن به برنامه‌ریزی‌های مربوط به آن پروژه است. با این حال همواره باید سعی کنید که به برنامه‌های پروژه تعهد داشته باشید و کارها را انجام دهید. تنها از این طریق است که می‌شود روند کاری همراه با تیم را ادامه بدهید.

۹. اصرار روی طرحی که شانس کمی برای کار کردن دارد

همانطوری که رها کردن طرح‌هایی می‌تواند مشکلاتی ایجاد کند، سمج بودن روی طرحی که کار نمی‌کند نیز می‌تواند باعث بوجود آمدن فاجعه شود. به همین دلیل است که باید ایده‌هایی را با تیم‌تان به اشتراک بگذارید و از آن‌ها فییدبک‌ها و پیشنهاداتی را دریافت کنید. بعضی اوقات داشتن یک چشم انداز متفاوت می‌تواند تمام تفاوت‌ها را ایجاد کند.

۱۰. به صورت مستقل کار کردن

در یک تیم باید ایده‌ها و پیشرفت‌های‌تان را با دیگر اعضا به اشتراک بگذارید. برخی اوقات فکر می‌کنید که برخی چیزها را به صورت درست ایجاد می‌کنید، اما همیشه به این صورت نیست. بنابراین داشتن ارتباط همیشگی و ثابت می‌تواند بسیار با ارزش باشد. این موضوع برای افرادی نیز که با آن‌ها کار می‌کنید می‌تواند بسیار مفید باشد. کار آن‌ها اغلب زمانی بهبود می‌یابد که شما ایده‌های‌تان را به اشتراک بگذارید و از تجربیات‌تان بگویید. 

۱۱. نپذیرفتن این موضوع که کدهای بدی می‌نویسید

همیشه برای توسعه‌دهندگان این موضوع پیش خواهد آمد که کمبود زمان باعث می‌شود شما کدهای بسیار بدی بنویسید. شما باید سعی کنید که به مشتریان و یا مدیران عواقب چنین موضوعی را توضیح دهید اما اگر آن‌ها هنوز روی deadline اصرار دارند، پس باید سراغ کدها بروید. گاهی اوقات نیز ممکن است باگی پیش بیاید که نمی‌تواند برای شما منتظر باشد تا بتوانید آن را حل کنید. به همین دلیل است که باید برنامه نویس منعطفی باشید و توانایی نوشتن کد در سطوح مختلف را بدست بیاورید. 

۱۲. سرزنش‌ کردن دیگران

در این که غرور یکی از خلقیات مرسوم در بین توسعه‌دهندگان و دیگر افراد تکنیکی است شکی نیست. قبول کردن و به عهده کردن مشکلاتی که شما باعث آن‌ها شده‌اید کار خوبی است و چنین کاری باید انجام شود. از اینکه بگوییم اشتباهی انجام داده‌ایم نباید بترسیم. انسان‌ها اشتباهاتی را انجام می‌دهند. وقتی که مسئولیت چنین خطایی را بر عهده گرفتید می‌توانید به سرعت آن را در نظر گرفته و در نهایت راهی برای حل کردن آن پیدا کنید. اگر به خطاها پی نبرید پس بدانید که یادگیری برای‌تان غیر ممکن خواهد بود.

۱۳. به اشتراک نگذاشتن آنچه که یاد گرفته‌اید

ارزش شما به عنوان یک توسعه‌دهنده تنها در زمان کدنویسی نیست، بلکه یادگیری نیز شامل آن می‌شود. تجربیات‌تان را به اشتراک بگذارید، کامنت‌هایی در مورد آن بنویسید و بگذارید دیگران نیز در مورد آن‌ها بداننند. سعی کنید به دیگر افراد تیم چیزهای جدیدی را یاد بدهید.

۱۴. کند بود در ارائه فییدبک به مشتری/مدیر

یکی از صفات بسیار خوب آدم‌های داخل یک تیم این است که مطمئن شوند همه افراد درک متقابلی از یکدیگر دارند. در این صورت شما بار کمتری به دوش دارید و همه چیز در بین اعضای تیم به اشتراک گذاشته می‌شود. چنین موضوعی می‌تواند آینده پروژه را تضمین کند.

۱۵. استفاده نکردن از گوگل –به اندازه کافی-

یکی از بهترین راه‌ها برای حل کردن مشکلات پیچیده، جستجو کردن در گوگل است. وبسایت‌های بسیاری وجود دارند که با شما مشکلات مشابهی داشته‌اند و آن‌ها را حل کرده و حال به اشتراک گذاشته‌اند. بنابراین برای حل مشکلات‌تان جستجو کنید.

۱۶. بیش از حد ارزش دادن به استایل خودتان

همواره سعی کنید با محیط کاری تیم‌تان خود را هماهنگ کنید. به صورت ایده‌آل هرکسی باید به شرایط یکسانی احترام بگذارد و از یک الگو برای کدنویسی استفاده کند. انجام کارها به روش خودتان ممکن است جذاب باشد اما چیزی نیست که همکارا‌ن‌تان بتوانند به خوبی از آن بهره ببرند. ممکن است در آینده توسعه‌دهندگان دیگری روی پروژه شما کار کنند و وقتی الگوی متفاوتی با تیم را مشاهده می‌کنند، سرخورده می‌شوند.

۱۷. قرار دادن ضمیمه‌های شخصی در کدها

وقتی فردی رو کدهای‌تان کامنت قرار می‌دهد آن را شخصی برداشت نکنید. کدهای شما باید یکپارچه باشند. شما باید برای قطعه قطعه آن‌ها توضیحاتی داشته باشید. چرا به این صورت عمل کردید و چرا این کار را انجام ندادید و به همین صورت. اگر این قسمت نیاز به بهبودی دارد این مورد تنها روی کدها اتفاق می‌افتد و تاثیری روی شما نخواهد داشت.

ادامه عادت های بد را در مقاله بعدی به شما ارائه میکنیم.

منبع

مقالات پیشنهادی

۳۵ عادت بد برنامه‌نویسان - بخش دوم

برای داشتن یک استراتژی خوب باید تجربه کافی داشته باشید. برای چنین کاری نیاز است که کاوش‌ها و آنالیزهای مختلفی بکنید و تمام قسمت‌های فرایند تولید یک سی...

حسابداری استارت آپ ها با اپلیکیشن "حساب و کتاب"

هر استارت‌آپ و کسب و کاری از همان ابتدای کار به یک حسابدار نیاز دارد تا بتواند به امور مالی مربوط به استارت‌آپ کمک کند. به این منظور، می‌توان از اپلیک...

10 قطعه کد jquery که هر طراحی باید بدانند | قسمت دوم

امروزه jquery به یکی از عضوهای جدایی ناپذیر طراحی وب تبدیل شده که همه طراحا یا با اون آشنا هستن یا خیلی خوب اونو میشناسن و میدونن که چه نقش مهمی درطرا...

تبدیل صدا به متن با جاوا اسکریپت

در این آموزش میخواهیم کار با Web Speech API رو تجربه کنیم. این یکی از قدرتمندترین رابط های مرورگریست که به شما اجازه میده صدای انسان رو ضبط کرده و به...