تست جوئل

۱۲ راه برای کد بهتر

جوئل اسپالسکی کیست؟
  • مهندس نرم‌افزار اهل نیویورک
  • خالق سایت‌های stackoverflow و trello
  • نویسنده سایت Joel On Sofware
۱. آیا از سورس کنترل استفاده می‌کنید؟

تحویل بگیرید، کد را تغییر دهید، تحویل بدهید و تاریخچه تغییرات را ببینید

۲: آیا می‌توانید در یک مرحله برنامه‌تان را build کنید؟

برای ایجاد نسخه قابل تحویل به مشتری از آخرین سورس، چند مرحله وجود دارد؟

۳: آیا دارایbuild روزانه هستید؟

هر روز تکه و بعد از زمانی که کدی به سورس اصلی اضافه شد، آن را build‌ کنیم.

۴: آیا بانک اطلاعاتی از BUG ‌ها دارید؟

مراحل باز تولید،‌ رفتار مورد انتظار، رفتار رخ داده، فردی که رفع باگ به وی محول شده و وضعیت باگ را نگهداری کنیم

۵: آیا قبل از نوشتن کد جدید به رفع اشکالات کنونی می‌پردازید؟

هر چه برای تصحیح یك اشكال بیشتر معطل كنید، هزینه تصحیح آن (از لحاظ وقت و پول) بیشتر خواهد بود

۶: آیا برنامه زمان‌بندی‌تان به روز است؟

هیچ کس باور نمی‌کند که برنامه‌ریزی انجام شده واقع‌بینانه باشد!

۷: آیا دارای لیست مشخصات نرم‌افزار هستید؟

اگر نرم‌افزار را بر اساس سند مشخصات درست نکنید، احتمالاً گرفتار یک طراحی بد و زمان خارج از کنترل خواهید شد

۸: آیا برنامه‌نویسان شما محیط آرامی برای کار کردن دارند؟

متمرکز شدن روی یک کار ممکن است حتی تا ۱۵ دقیقه طول بکشد اما از دست دادن تمرکز کار بسیار ساده‌ای هست.

۹: آیا بهترین ابزارهایی که وجود دارد را می‌خرید؟

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

۱۰: آیا بخش تست شما جداست؟

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

۱۱: آیا داوطلبان جدید، موقع مصاحبه کد هم می‌نویسند؟

پرسشی که پاسخش نوشتن کد باشد.

۱۲: آیا از آزمایش «کاربردپذیری راهرویی» استفاده می‌کنید؟

خِر اولین فردی را که از راهرو رد می‌شود می‌گیرید و مجبورش می‌کنید بنشیند پای برنامه‌ای که الان نوشته‌اید.

امتیاز تیم شما چند است؟