سرشار از زندگی

طبقه بندی موضوعی

10 ویژگی برنامه نویس بد!

سه شنبه, ۱۲ خرداد ۱۳۹۴، ۱۰:۲۲ ق.ظ

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


اول از همه به کامپایلر یا مفسر مشکوک می‌شود
یک برنامه‌نویس بد می‌گوید: «کد من درست است، شاید بهینه‌سازی کامپایلر یا مفسر باعث این مشکل شده باشد. باید به تنظیمات کامپایلر نگاهی بیندازیم.»

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

از کدی استفاده می‌کند که آن را نفهمیده است
بهترین دوست یک برنامه‌نویس بد، ctrl+c ، ctrl+v است. برای وی مهم نیست که این کد از کجا آمده یا این‌که دقیقاً چه کاری انجام می‌هد. اگر او کدی را ببیند که در جای دیگری درست کار می‌کند، چشم بسته آن را پذیرفته و در جای دیگر از آن استفاده می‌کند.

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

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

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

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

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

کدهای هوشمندانه می‌نویسد
برنامه‌نویسان بد کدهایی می‌نویسند که سایر همکارانشان برای آن‌که آن را بفهمند نیاز دارند به کتابچه راهنمای آن زبان مراجعه کنند. آن‌ها ترجیح می‌دهند بسیار مختصر و مفید کد بزنند. برنامه‌نویسان بد کد را برای ماشین می‌نویسند نه برای انسان.

ترجمه ی: فرنوش گلشن

از isi.org.ir

نظرات  (۲)

۱۷ خرداد ۹۴ ، ۱۷:۱۳ مرتضی شایان
ما که برنامه نویس نیستیم، ولی به هرحال خواندن ان خالی از لطف نبود.
پاسخ:
:)
۲۹ خرداد ۹۴ ، ۲۰:۵۵ احمد محمدی
بسیار عالی
پاسخ:

سپاس!

:)

ارسال نظر

ارسال نظر آزاد است، اما اگر قبلا در بیان ثبت نام کرده اید می توانید ابتدا وارد شوید.
شما میتوانید از این تگهای html استفاده کنید:
<b> یا <strong>، <em> یا <i>، <u>، <strike> یا <s>، <sup>، <sub>، <blockquote>، <code>، <pre>، <hr>، <br>، <p>، <a href="" title="">، <span style="">، <div align="">
تجدید کد امنیتی