۱۳۹۰/۰۳/۲۹

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

سلام

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

همه بد کد می نویسند، جز من!
گاه اوقات یک برنامه نویس با دیدن کدهای شخص دیگر، به جای قبول کردن اختلاف نظر موجود در کدنویسی به زیر سوال بردن روش کدنویسی طرف مقابل می پردازد. درست است که در پروژه های تیمی رعایت استانداردهای تیم ضروریست، اما در مواردی که شخص در حال کار بر روی جزییات است و هیچ استانداردی را زیر سوال نبرده، بهتر است قبل از بحث در مورد کدهای نوشته شده، دیدگاه وی را در مورد این نوع کدنویسی بدانیم.
Control + Cut + Copy + P
Copy & Paste
یک از بدترین کارهایی که توسط برنامه نویس انجام می شود و علاوه بر خود به کل تیم و پروژه آسیب وارد کند، Copy و Paste کردن کدها بدون بررسی و فراگیری دانش موجود در آنهاست. این مورد بویژه در برنامه نویسان وب بسیار مشاهده می شود. بهتر است به جای کپی کردن کد از جای دیگری، نیاز خود را با فراگیری تکنیک های لازم رفع کنید. در صورتی که مجبور به نسخه برداری از کد دیگری هستید، بهتر است تک تک خطوط آن را بررسی کرده و لایسنس مربوط به آن را رعایت فرمایید. پیشنهاد می کنم صفحه Copy and paste programming در ویکی پدیا را مطالعه کنید.

نام گزاری نامفهوم متغیرها
این مشکل بیشتر در برنامه نویسان کم تجربه دیده می شود. مثلا متغییری را با حرف u تعریف کرده و در بخش های مختلف استفاده می کند. شما فکر می کنید که منظور از u همان user است، بعد شک می کنید که شاید username باشد و در آخر متوجه می شوید که منظور وی usability بوده است! درصورتی که نام متغییر را با توجه به محتوای آن ها برگزیده شود، خوانایی برنامه دوچندان می شود.

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

من نبودم! عدم مسئولیت پذیری و عذرخواهی
برخی اوقات بخشی از برنامه دچار ایراد می شود و کسی عهده دار ایراد بوجود آمده نیست. از لحاظ اخلاقی گفتن یک عذرخواهی نه تنها از شخصیت شما نمی کاهد، بلکه نشاندهنده حس مسئولیت پذیری شما می شود. البته با نوشتن توضیحات (Comment) در برنامه می توانید، نویسنده کد را به راحتی بیابید.

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

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

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

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

منبع تصویر: worthlessgenius.com

شاد باشید :)

۹ نظر:

  1. سلام من یک مبتدی هستم ومیخواهم وبه شدت سه بزنامه نویسی علاق مند لطفا کمکم کنید

    پاسخحذف
  2. توی مورد آخر شبهه هست :) اعمال نظر مشتری مهم‌تره یا برنامه‌نویس؟

    پاسخحذف
  3. منظور از دیدگاه مشتری، چیزیه که اون طرف می خواد و برنامه نویس باید همون رو بهش تحویل بده. اگه مخالفتی با نظر مشتری داره بهتره که همون اول بهش بگه نه بعد از تحویل کار!
    البته مشخصه که از نظر فنی، حرف تیم برنامه نویسی اولویت بیشتری داره :)

    پاسخحذف
  4. من تقریباً هیچ وقت تو کد توضیح نمی نویسم!

    پاسخحذف
  5. سلام
    من با این قسمت خیلی موافق هستم
    (این بخش خیلی زود تموم می شود)
    من خودم هر وقت کارم رو زود تموم کنم بدون شک حتما بعدش تو اجرا دچار مشکل میشم

    پاسخحذف
  6. ادمین محترم خاهشا روی سایز فونت انتخابیت یه تجدید نظری بکن!!!

    پاسخحذف
  7. سلام
    راستش به اتفاق موارد فوق رو دعايت مي كنم . البته از غر زدن در مورد كدي كه ناخوانا و بي دقت نوشته شده نميگذرم و غر ميزنم اما كلا موارد فوق رو رعايت مي كنم .
    يكي هم من اضافه كنم.
    با آموزش ندادن به ديگران تصور مي كنند تخصص محدود به اين افراد است و رقيب جديدي ايجاد نمي شود غافل از اينكه آموزش دادن بر علم و آگاهي خود برنامه نويس اضافه مي كند و موجب پشرفت بازار نرم افزار و درخواست بيشتر بازار و احترام به كار حرفه اي مي گردد.

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

    پاسخحذف