چطور یک برنامه نویس بد باشم؟

چطور یک برنامه نویس بد باشم؟

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

حال اگر کد کسی به این صورت نباشد، می توانیم آن را یک برنامه نویس بد در نظر بگیریم. 

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

در ادامه مقاله می خواهیم ویژگی های یک برنامه نویس بد را شرح دهیم.  

احساسی فکر کردن

از نشانه های بارز یک برنامه نویس بد این است که خیلی احساسی فکر می کند. نمی گویم احساسی بودن بد است یا در کل باید بی احساس بود. منظور این است که احساسی فکر کردن باعث می شود که جمله های زیر را در صحبت های برنامه نویس بد، بشنویم: 

"خیلی ناراحتم که برنامه ام کار نمی کنه، سعی کردم اصلاحش کنم اما هنوز موفق نشدم." 

" احساس می کنم کدم درسته، اما مطمئن نیستم که چرا کار نمی کنه."

یک برنامه نویس بد، همیشه به کارش احساسی فکر می کند.
یک برنامه نویس بد، همیشه به کارش احساسی فکر می کند.

مشکوک شدن به کامپایلر / مفسر در ابتدا 

بک برنامه نویس بد همیشه با دیدن اولین خطا یا باگ می گوید: "کد من اشکالی ندارد، گمان می کنم که یک اشکال کامپایلر / مفسر وجود دارد. بگذارید تنظیمات کامپایلر را بررسی کنم ".

اول عمل کردن، بعد فکر کردن 

یک برنامه نویس خوب وقتی با مشکلی روبرو شود، ابتدا سعی می کند مشکل را بررسی کرده و وجود آن را تایید کند، سپس منبع آن را پیدا نموده و در فکر راه حل باشد. اما برنامه نویس بد، ابتدا فکر کردن در مورد راه حل ها را شروع می کند. یعنی بدون این که مشکل را تایید کند، راه حل ارائه می دهد. 

استفاده کردن از کدی که متوجه آن نشدند

بهترین دوستان یک برنامه نویس بد، Ctrl-C ، Ctrl-V است و خیلی به این نکته فکر نمی کند که کد از کجا می آید یا چه کاری انجام می دهد. اگر کدی را ببیند که به نظر می رسد در جای دیگری به درستی کار می کند، آن را به عنوان یک کدی که در هرجایی کار خواهد کرد، می پذیرد.

سخت کار کردن

هر کسی که سخت کار کند به این معنی نیست که درست کار می کند. برنامه نویس هایی هستند که ساعت های طولانی و بی پایان را به کار مشغولند تا اشکالی را رفع کنند، اما گاهی از مسیر اصلی پروژه خارج می شوند. 

سخت کار کردن یک برنامه نویس بد
سخت کار کردن یک برنامه نویس بد

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

کمبود مهارت تحقیق و داشتن دانش ضعیف

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

داشتن اطمینان به توانایی های خود

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

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

داشتن اراده قوی 

منظور از اراده قوی در این جا، همان لجباز بودن است. این یک حقیقت است که برنامه نویس های بد، در مقابل هر تعداد مدرک و شاهد که ثابت می کند کاری نادرست است، مقاومت می کنند و حاضر به عقب نشینی نیستند. 

به جای این که بعضی اوقات عقب بنشینند و در مورد بهتر بودن رویکردهای دیگر فکر کنند، رویکرد خود را برای همه مشکل هایی که ممکن است بوجود آیند، پیش خواهند برد.

کدنویسی هوشمندانه 

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

کدنویسی پیچیده
کدنویسی پیچیده 

در ادامه به صورت مثال به دو مورد از ویژگی های مربوط به کدنویسی بد اشاره خواهیم کرد: 

نامگذاری ضعیف

اغلب برنامه نویس های بد در نامگذاری ضعیف هستند و اسامی ای که برای متد ها، متغییر ها، کلاس ها و ... استفاده می کنند، قابل خواندن نیست. یا نامگذاری متناقض دارند. برای مثال به نحوه ی نوشتن این 3 نام و حروف کوچک و بزرگ آن توجه کنید: "firstOfList" و "listSecond" و "anotherListEntry". این گونه نام گذاری، به یک قرارداد تبدیل شده است. باید حدس بزنید که کدام یک را در مرحله بعدی استفاده می کنند. 

یا استفاده گسترده از نام یک حرف یا رقم، به ویژه "i" برای هر شاخص حلقه. استفاده از "i" برای یک شاخص حلقه در داخل یک حلقه دیگر، نشانه واقعی یک برنامه نویس بد است. استفاده از"i1" ، "i2" از "i" ساده نیز بدتر هستند. 

سبک کدگذاری متناقض 

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

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

کدگذاری متناقض
کدگذاری متناقض

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

جمع بندی 

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

گاهی لازم است ما نقاط ضعف خود را بشناسیم تا بتوانیم آن ها را برطرف کنیم. پس فقط دانستن ویژگی های خوب کافی نیست. به نظرم بهتر است این مقاله را با دید مثبت بخوانید تا اشکال های خود را شناخته و رفع کنید. 

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

منبع ها

https://www.getfilecloud.com/blog/10-ways-to-be-a-bad-programmer/ 

https://www.quora.com/What-makes-someone-a-bad-computer-programmer 

http://www.yacoset.com/Home/signs-that-you-re-a-bad-programmer 

https://codementorio.medium.com/good-developers-vs-bad-developers-fe9d2d6b582b

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


online-support-icon