مهندسی نرمافزار
-
برنامه نویسی

چطور سیستمهای توزیعشده مقاوم به خطا بسازیم؟
برنامهنویسی مقاوم به خطا در محاسبات توزیعشده یا Fault-Tolerant Distributed Programming یکی از مهمترین مفاهیم در معماری نرمافزارهای مدرن است که تضمین میکند سیستم حتی در شرایط خرابی، قطعی شبکه یا از کار افتادن سرورها…
بیشتر بخوانید » -
برنامه نویسی

چرا برنامهنویسها باید توانایی تخمین زمان (Time Estimation) داشته باشند؟
تخمین زمان یکی از مهارتهایی است که خیلی از برنامه نویسها آن را دستکم میگیرند، در حالی که در عمل تأثیر مستقیمی روی کیفیت کار، اعتماد تیم و حتی رشد شغلی دارد. برنامه نویسی فقط…
بیشتر بخوانید » -
برنامه نویسی

تفاوت کد قابل اجرا با کد قابل توسعه در پروژههای بلندمدت
وقتی «کد کار میکند» کافی نیست خیلی وقتها در پروژهها به کدی میرسیم که خروجی درست میدهد، تستها سبزند و ظاهراً همه چیز خوب پیش میرود. اما چند ماه بعد، اضافه کردن یک فیچر ساده…
بیشتر بخوانید » -
برنامه نویسی

چرا بسیاری از پروژهها در مرحله نگهداری (Maintenance) شکست میخورند؟
خیلی از پروژههای نرم افزاری نه در زمان شروع و نه حتی در زمان توسعه، بلکه دقیقاً در مرحله نگهداری به مشکل میخورند. جایی که پروژه باید پایدار بماند، تغییر کند، رشد کند و با…
بیشتر بخوانید » -
برنامه نویسی

چرا Code Review یکی از بهترین روشهای یادگیری برنامهنویسی است؟
اگه بخوام خیلی صادقانه بگم، هرچقدر هم آموزش ببینی، دوره بری، پروژه بزنی و کتاب بخونی، باز هم هیچچیزی به اندازهٔ دیدن «طرز فکر یک برنامهنویس دیگه» رشدت نمیده. Code Review دقیقاً همین کار رو…
بیشتر بخوانید » -
برنامه نویسی

چرا پروژههای بزرگ بدون تست واحد (Unit Test) محکوم به شکستاند؟
وقتی یک پروژه کوچک است، معمولاً همهچیز ساده و قابل کنترل بهنظر میرسد. چند فایل، چند تابع، یک سری فیچر ساده و تمام. اما همین پروژه وقتی بزرگ میشود، تعداد فایلها، وابستگیها، ماژولها و بخشهای…
بیشتر بخوانید » -
برنامه نویسی

تفاوت «کدنویسی» با «مهندسی نرمافزار» دقیقاً چیه؟
خیلیها وقتی وارد دنیای برنامه نویسی میشن، کدنویسی و مهندسی نرمافزار رو یکی میدونن. ولی واقعیت اینه که این دو تا حتی از زمین تا آسمون فرق دارن. کدنویسی فقط یه بخش از کاره، اما…
بیشتر بخوانید »






