یوسف مهرداد | ارد ۱۸, ۱۴۰۱ | مهندسی نرمافزار
عامل ۳: پیکربندی پیکربندی (config) را در محیط استقرار (environment) ذخیره کنید پیکربندی هر برنامه احتمالاً برای استقرارهای مختلف (محیط عملیاتی یا production، محیط داخلی یا stage، محیط توسعهدهندگان و غیره) یکسان نیست. این تفاوت میتواند به دلایل متفاوتی از جمله موارد...
یوسف مهرداد | ارد ۱۰, ۱۴۰۱ | چابک Agile, مهندسی نرمافزار
قسمت اول را اینجا و قسمت دوم را اینجا بخوانید. به جای بهانه، گزینهها و راهکارهای جدیدی پیشنهاد کنید. نگویید که این کار شدنی نیست؛ توضیح دهید که چه کاری میتوان برای نجات از شرایط کنونی انجام داد. آیا بهتر است کد را حذف کنیم (delete)؟ اگر به این نتیجه رسیدید، این...
یوسف مهرداد | ارد ۶, ۱۴۰۱ | چابک Agile, مهندسی نرمافزار
قسمت اول را اینجا بخوانید. وقتی مسئولیت کاری را قبول میکنید، بپذیرید که باید در قبال آن پاسخگو باشید. وقتی مرتکب اشتباهی میشوید (مثل بقیه انسانها) یا در قضاوت اشتباه میکنید، صادقانه آن را بپذیرید و سعی کنید گزینههایی برای حل آن پیدا کنید. فرد یا چیز دیگری را...
یوسف مهرداد | ارد ۲, ۱۴۰۱ | چابک Agile, مهندسی نرمافزار
یکی از پایههای فلسفه عملگرایی این است که مسئولیت اقدامات خود را در مورد پیشرفت شغلی، یادگیری و آموزش، پروژه و کار روزانه بپذیرید. برنامهنویسان عملگرا (Pragmatic Programmers) مسئولیت حرفهای خود را میپذیرند و از اعتراف به ناآگاهی یا اشتباه هراسی ندارند. بیشک این...
یوسف مهرداد | فرو ۲۹, ۱۴۰۱ | مهندسی نرمافزار
عامل ۲: وابستگی ها (Dependencies) وابستگی ها را به صورت شفاف و صریح بیان کنید و آن ها را ایزوله کنید (Explicitly declare and isolate dependencies) اکثر زبانهای برنامهنویسی دارای سیستم بستهبندی (packaging system) یا مدیریت بستهها (package manager) برای توزیع و پخش...
یوسف مهرداد | فرو ۲۴, ۱۴۰۱ | مهندسی نرمافزار
عامل ۱: پایگاه کد (code base) برای کنترل نسخههای کد یک برنامه، فقط و فقط یک پایگاه کد (کد بیس) وجود دارد، ولی در عین حال میتواند نسخههای استقراریافته (deploy) متعددی از آن وجود داشته باشد. یک برنامهی دوازده عاملی همیشه به کمک سیستمهای کنترل نسخه (version...