۲۰ درسی که از بعد از ۱۰ سال توسعه نرمافزار آموختم از «آندرج سویک»
1 min read
۲۰ درسی که از بعد از ۱۰ سال توسعه نرمافزار آموختم به قلم «Ondrej Sevcik»
- فروتن باشید هیچ مهندسی همه چیز رو نمیدونه. شما هم همینطور!
- فقط یه کاری کنید که درست کار کنه! (و گاهی وقتها یه کاری کنید که سریع کار کنه)
- کد رو برای تغییرات بهینه کنید. تکرار کردن کد رو به انتزاع (abstraction) اشتباه ترجیح بدید
- همیشه تست بنویسید اگه تست ننویسید یعنی دارید دستی (manual) تست میکنید.
- ۸۰ درصد از کاربردها (use cases) رو پوشش بدید. هیچوقت نخواهید که مشکلات همه کاربران رو حل کنید
- برنامهنویسی تابعی (functional) رو ترجیح بدید چون درکش راحتتره. اما اگه درک کدتون نیاز به Phd داره احتمالا دارید اشتباه انجامش میدید!
- هرچقدر که میتونید کد بیشتری حذف کنید
- به اندازه کافی خوب، بهتر از عالیه. بهبودهای معنادار رو صرفا به این دلیل که عالی نیستند حذف نکنید
- در خلوت انتقاد کنید، در مقابل جمع تشویق کنید
- یادداشت بردارید. اگه فکر میکنید که یادتون میمونه، دارید به خودتون دروغ میگید
- با کاربران حرف بزنید بهترین نرمافزار از زیر دست مهندسانی در میاد که با کاربرانشون همدلی دارند.
- با قصد و نیت یاد بگیرید با داشتن یک هدف واضح و شفاف در مورد اینکه چه چیزی رو و چطور میخواهید بهبود بدید، تمرین کنید. (deliberate practice)
- زود عمومیاش (generalize) نکنید صبر کنید تا نیاز به ۳ بار تکرار کد باشه قبل از اینکه abstract اش کنید (Rule of Three)
- پنجره شکسته رو تعمیر کنید اولین ترفند (hack) توی کد منجر به ترفندهای بعدی میشه و کدتون به سرعت غیر قابل نگهداری میشه.
- مشکل رو حل کنید. اصلا مهم نیست تقصیر کی بوده. در حال حاضر اون مشکل، مشکل شماست!
- راه حلی رو پیاده کنید که کار میکنه، نه اونی که مد روزه. اول با یک تیم کوچیک شروع کنید. اگه کار کرد، گسترشش بدید. اگه نکرد، بریزیدش دور
- کار عالی نیازمند استراحت خوبه برای رسیدن به کارایی بالا به خودتون استراحت بدید. دوندههای سرعت حرفهای هم همیشه در حال دویدن نیستند.
- گامهای کوچک بردارید بازنویسیهای بزرگ کار نمیکنند چون انگیزه و تمرکزتون رو در طول مسیر از دست میدید. به صورت روزانه پروژههاتون رو منتشر (release) کنید. این بهتون اجازه میده هر وقت که خواستید تمرکزتون رو به کارهای دیگه منتقل کنید.
- کارهای خوب رو تشویق کنید ما این رو در مورد حیوانات مشاهده کردیم اما روی آدمها هم جواب میده. به جای تنبیه اشتباهات، موفقیتهای افراد تیم رو تشویق کنید
- کد بینقص وجود نداره بهتره این رو به عنوان یک اصل بپذیرید به جای اینکه تلاش کنید یه چیز غیرممکن رو تغییر بدید.
منبع: +