12 چیز ناخوشایند برای برنامه‌نویسان ارشد که به کدهای افراد مبتدی ربط دارد
ﺯﻣﺎﻥ ﻣﻄﺎﻟﻌﻪ: 5 دقیقه

12 چیز ناخوشایند برای برنامه‌نویسان ارشد که به کدهای افراد مبتدی ربط دارد

وقتی به سراغ کدهای برنامه‌نویسان ارشد می‌رویم، آن‌ها عقیده دارند که باید کمال‌گرا عمل کرد. با این حال وقتی خودشان به کدهای افراد مبتدی نگاه می‌کنند، رفتار متفاوتی را نشان خواهند داد. گاهی‌ اوقات برنامه‌نویسان مبتدی در کدهای خود مرتکب خطاهایی می‌شوند که برای افراد ارشد خوشایند نیستند. من در این مقاله ۱۲ مورد از این اشتباهات را بیان خواهم کرد.

1. تکرار کردن کد

 تکرار کردن کد یکی از کارهای همیشگی برنامه‌نویسان مبتدی است. اگر کد دائماً در حال تکرار شدن است، چرا نباید یک سرویس خارجی را ایجاد کنیم؟

2. نامگذاری نادرست توابع و متغیرها

کمی وقت بگذارید و اسم‌های مناسبی را برای متغیرها و توابع خود انتخاب کنید. به نظر شما درک کردن متغیری با نام «زحل» آسان‌تر است یا متغیری با نام «ز»؟

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

3. نخواندن مستندات

وقتی مشغول کار کردن با یک API خارجی هستید، از این فرصت استفاده کنید و آن را یاد بگیرید. با درک کردن API، کارهای شما در آینده آسان‌تر انجام داده خواهند شد.

4. پیروی نکردن از کنوانسیون‌های کد

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

5. رعایت نکردن استانداردها

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

6. ترس از کار کردن با کد

وقتی سیستم‌ها مورد آزمایش قرار نگرفته باشند، وجود این ترس قابل درک است. معمولاً نتیجه‌ی این کار به وجود آمدن کدهای مرده خواهد بود. ما به کدهایی مرده می‌گوییم که دیگر مورد استفاده قرار نمی‌گیرند. من در گذشته با سیستمی کار کردم که شامل 30 تا 40 درصد کد مرده بود. این کدها حذف نشدند چون برنامه‌نویسانِ مسئول از سروکله زدن با آن‌ها می‌ترسیدند. به نظرم بهتر است از نسخه‌دهی (Versioning) استفاده کنید.

7. عوارض جانبی

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

8. کامنت‌ها

تا حد ممکن باید از کامنت نوشتن خودداری کرد. فقط در صورت لزوم از کامنت استفاده کنید. بگذارید کدها خودشان را به تنهایی بیان کنند.

9. اختراع دوباره چرخ

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

10. پیچیدگی بیش از حد

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

به عنوان مثال من قبلاً با کدی کار کرده‌ام که در آن کامپوننت A اطلاعاتی را به کامپوننت B ارسال می‌کرد. سپس کامپوننت B اطلاعات دریافتی را نیز به کامپوننت C منتقل می‌کرد. اما همان اطلاعات بدون استفاده از کامپوننت‌های B و C به کامپوننت A برمی‌گشتند.

11. قطعات کد با مسئولیت‌های زیاد

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

12. وابستگی‌های غیرضروری

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

مطمئناً می‌توانید موارد بیشتری را به این لیست اضافه کنید اما نمی‌توانید با موارد گفته شده مخالف باشید.

چه امتیازی برای این مقاله میدهید؟

خیلی بد
بد
متوسط
خوب
عالی
5 از 2 رای

/@Pemi.razmi
علیرضا داداشی
دانشجوی مهندسی پزشکی

دیدگاه و پرسش

برای ارسال دیدگاه لازم است وارد شده یا ثبت‌نام کنید ورود یا ثبت‌نام

در حال دریافت نظرات از سرور، لطفا منتظر بمانید

در حال دریافت نظرات از سرور، لطفا منتظر بمانید

علیرضا داداشی

دانشجوی مهندسی پزشکی