Programmer City «شهر برنامه‌نویس»
1.13K subscribers
4.2K photos
954 videos
159 files
1.96K links
دنیای برنامه‌نویسی و مهندسی کامپیوتر🌈

📱ارتباط با ما: پیج اینستاگراممون🎈
IG: ProgrammerCity ✅

لینک ناشناسمون:✨
https://t.me/BitnetChat_bot?start=sec-ehdiahcie
Download Telegram
👀 در Code Review فقط دنبال Bug نمیگردیم.

ممکنه بررسی کنیم:

🔹 کد خواناست؟
🔹 اسم متغیرها واضح هست؟
🔹 منطق بیش از حد پیچیده نیست؟
🔹 کد تکراری وجود داره؟
🔹 خطاهای احتمالی مدیریت شدن؟
🔹 تست مناسب وجود داره؟

مثلاً این:

x = p * q

کار میکنه. ✅

ولی این:

total_price = product_price * quantity

برای کسی که فردا کدو میخونه، خیلی واضح‌تره.

📌 کدی که امروز مینویسی، فقط برای کامپیوتر نیست.

یک انسان دیگه هم باید بتونه اونو بفهمه.

و Code Review دقیقاً برای همین مهمه.

━━━━━━━━━━━━━━━━━━
°⋆⸜ 𝙋𝙧𝙤𝙜𝙧𝙖𝙢𝙢𝙚𝙧'𝙨 𝘾𝙞𝙩𝙮 ⸝⋆°
➤ Code • Learn • Build
➤ @programercity
━━━━━━━━━━━━━━━━━━
❤1👏1
🎯 چالش ProgrammerCity

کدوم یکی خواناتر و قابل‌فهم‌تره؟

1️⃣x = p * q

2️⃣total_price = product_price * quantity

3⃣فرقی نمیکنه؛ هر دو یک نتیجه میدن.

👇 شماره گزینه رو بنویس و اگر دوست داشتی بگو چرا.

💡 یک نکته مهم:

گاهی Code Review باعث میشه چیزی رو اصلاح کنیم که اصلاً Bug نیست؛ فقط باعث میشه کد خواناتر، قابل نگهداری‌تر و بهتر بشه.

📅 در قسمت بعدی میریم سراغ یک سؤال مهم:

اگر Code Review گرفتیم و با نظر Reviewer موافق نبودیم، چطور حرفه‌ای برخورد کنیم؟

━━━━━━━━━━━━━━━━━━
°⋆⸜ 𝙋𝙧𝙤𝙜𝙧𝙖𝙢𝙢𝙚𝙧'𝙨 𝘾𝙞𝙩𝙮 ⸝⋆°
➤ Code • Learn • Build
➤ @programercity
━━━━━━━━━━━━━━━━━━
❤1👏1
🛠 مشکل واقعی یک برنامه‌نویس | Case Study #6
💬 اگر با نظر Reviewer موافق نباشیم چی؟

میری Pull Request رو باز میکنی.

یکی از هم‌تیمی‌ها نوشته:

💬 «I think we should change this approach.»

اما تو مطمئنی روشی که استفاده کردی درسته.

😐 حالا چی؟

بگی:

«نه، روش من بهتره.»

یا بدون فکر نظرشو قبول کنی؟

هیچ‌کدوم!

چون یکی از مهارت‌های مهم کار تیمی اینه که بتونی درباره کدت گفت‌وگو کنی، نه اینکه ازش دفاع احساسی کنی.

━━━━━━━━━━━━━━━━━━
°⋆⸜ 𝙋𝙧𝙤𝙜𝙧𝙖𝙢𝙢𝙚𝙧'𝙨 𝘾𝙞𝙩𝙮 ⸝⋆°
➤ Code • Learn • Build
➤ @programercity
━━━━━━━━━━━━━━━━━━
❤1👏1
💡 وقتی با یک نظر در Code Review موافق نیستی، اول سعی کن بفهمی دلیل پیشنهاد چیه.

مثلاً به جای:

❌ «ولی این کد درست کار میکنه.»

بگو:

✅ «میشه بگی چه مشکلی ممکنه با این روش داشته باشیم؟»

یا:

✅ «من این روش رو به خاطر X انتخاب کردم؛ به نظرت روش پیشنهادی چه مزیتی داره؟»

حالا ممکنه یکی از این اتفاق‌ها بیفته:

🔹 متوجه میشی Reviewer نکته‌ای دیده که تو ندیدی.

🔹 متوجه میشی دو راه‌حل مختلف وجود داره.

🔹 یا حتی ممکنه بعد از توضیح، مشخص بشه پیشنهاد اولیه مناسب این شرایط نیست.

📌 پس Code Review مسابقه «چه کسی درست میگه؟» نیست.

هدفش اینه که بهترین تصمیم برای پروژه گرفته بشه.

━━━━━━━━━━━━━━━━━━
°⋆⸜ 𝙋𝙧𝙤𝙜𝙧𝙖𝙢𝙢𝙚𝙧'𝙨 𝘾𝙞𝙩𝙮 ⸝⋆°
➤ Code • Learn • Build
➤ @programercity
━━━━━━━━━━━━━━━━━━
❤1👏1
🎯 یک موقعیت واقعی:

یه Reviewer روی کدت Comment گذاشته و پیشنهاد داده یک بخشو تغییر بدی.

تو فکر میکنی روش فعلی بهتره.

چه کار میکنی؟

1️⃣ میگم «کد من مشکلی نداره.» 😐
2️⃣ بدون بررسی پیشنهادش رو انجام میدم.
3️⃣ دلیل انتخابمو توضیح میدم و نظرشو درباره راه‌حل‌ها میپرسم.
4️⃣ یا Comment رو نادیده میگیرم.

👇 شماره گزینه رو بنویس.

📅 فردا میخوایم یک قدم جدی‌تر برداریم:

🔎 یک قطعه کد واقعی رو با هم Code Review میکنیم و ببینیم چه ایرادهایی میشه از داخلش پیدا کرد.

━━━━━━━━━━━━━━━━━━
°⋆⸜ 𝙋𝙧𝙤𝙜𝙧𝙖𝙢𝙢𝙚𝙧'𝙨 𝘾𝙞𝙩𝙮 ⸝⋆°
➤ Code • Learn • Build
➤ @programercity
━━━━━━━━━━━━━━━━━━
❤1👏1
🛠 مشکل واقعی یک برنامه‌نویس | Case Study #7
🔎 بیایم یک کد واقعی رو Code Review کنیم!

🔎 Code Review Challenge

فرض کن یکی از اعضای تیم این کد Python رو برای Pull Request فرستاده:

def get_user(users, id):
for user in users:
if user["id"] == id:
return user
return None


def show_user(users, id):
user = get_user(users, id)
print(user["name"])

کد اجرا میشه. ✅

اما آیا واقعاً مشکلی نداره؟

🤔 اگر Reviewer این کد باشی، چه چیزی توجهتو جلب میکنه؟

فعلاً جوابو نمیگیم.

خودت نگاهش کن و حداقل یک مشکل احتمالی پیدا کن. 👇

━━━━━━━━━━━━━━━━━━
°⋆⸜ 𝙋𝙧𝙤𝙜𝙧𝙖𝙢𝙢𝙚𝙧'𝙨 𝘾𝙞𝙩𝙮 ⸝⋆°
➤ Code • Learn • Build
➤ @programercity
━━━━━━━━━━━━━━━━━━
❤1👏1
🔎 جواب Code Review Challenge

یک مشکل مهم اینجاست:

اگر کاربر پیدا نشه، تابع get_user مقدار:

None

برمی‌گردونه.

اما در show_user بدون بررسی، این کارو انجام دادیم:

user["name"]

🚨 پس اگر کاربر وجود نداشته باشه، برنامه با خطا مواجه میشه.

یک راه بهتر اینه که قبل از دسترسی به اطلاعات کاربر، وجودشو بررسی کنیم.

مثلاً:

if user is not None:
print(user["name"])
else:
print("User not found")

📌 نکته:

یک Code Review خوب فقط دنبال Syntax Error نیست.

گاهی کد کاملاً اجرا میشه، اما در یک Edge Case رفتار درستی نداره.

و دقیقاً همین‌جاست که Review ارزش پیدا میکنه.

━━━━━━━━━━━━━━━━━━
°⋆⸜ 𝙋𝙧𝙤𝙜𝙧𝙖𝙢𝙢𝙚𝙧'𝙨 𝘾𝙞𝙩𝙮 ⸝⋆°
➤ Code • Learn • Build
➤ @programercity
━━━━━━━━━━━━━━━━━━
❤1👏1
💻 حالا یک سؤال جدی‌تر:

اگر قرار باشه کدی که نوشتی قبل از تحویل پروژه توسط یک نفر دیگه بررسی بشه، دوست داری چه چیزهایی بررسی بشه؟

🔹 پیدا کردن Bug
🔹 خوانایی کد
🔹 ساختار و منطق
🔹 مشکلات احتمالی در شرایط خاص
🔹 بهینه‌سازی
🔹 امنیت
🔹 همه موارد

👇 شماره یا مورد موردنظرتو بنویس.

---

و اگر خودت الان یک پروژه داری که:

🐞 خطا داره
🔎 نمیدونی مشکل از کجاست
🧩 کدت درست اجرا میشه ولی مطمئن نیستی اصولی نوشته شده
📤 یا قبل از تحویل میخوای یک نفر کدتو بررسی کنه

میتونی برای بررسی و Code Review پروژه با ProgrammerCity در ارتباط باشی.

📩 برای شروع فقط توضیح کوتاهی از پروژه و مشکلت بفرست.

ما اول بررسی میکنیم که دقیقاً چه کمکی لازم داری و بعد راهکار مناسب رو بهت میگیم.

اینجا ProgrammerCity؛ از یادگیری تا حل مسئله واقعی. 💻🚀

━━━━━━━━━━━━━━━━━━
°⋆⸜ 𝙋𝙧𝙤𝙜𝙧𝙖𝙢𝙢𝙚𝙧'𝙨 𝘾𝙞𝙩𝙮 ⸝⋆°
➤ Code • Learn • Build
➤ @programercity
━━━━━━━━━━━━━━━━━━
❤1🔥1👏1
Programmer City «شهر برنامه‌نویس»
💼 از دانشگاه تا شرکت | قسمت ۲۲ 🆘 چه زمانی خودت حلش کنی و چه زمانی از متخصص کمک بگیری؟ 🎬 داستان امروز از یک روز واقعی در دنیای برنامه‌نویسی... سه ساعت گذشته. یک خطای عجیب داری. مستنداتو خوندی. چندین سرچ انجام دادی. سایت Stack Overflow رو زیر و رو کردی. حتی…
💼 از دانشگاه تا شرکت | قسمت ۲۳

🆘 وقتی گیر کردی، چطور درست کمک بخوای؟

🎬 داستان امروز...

بالاخره تصمیم گرفتی از یکی از اعضای تیم کمک بگیری.

پیام میدی:

«سلام، این کدم کار نمیکنه، میشه کمکم کنی؟»

هم‌تیمی:
«مشکل چیه؟»

تو:
«نمیدونم، ارور میده! 😂»

و حالا باید ۲۰ دقیقه فقط توضیح بدی که دقیقاً چه اتفاقی افتاده.

مشکل از کمک گرفتن نیست؛
مشکل اینه که مسئله رو درست مطرح نکردی.

یک سؤال خوب میتونه خیلی سریع‌تر از یک سؤال مبهم به جواب برسه.

━━━━━━━━━━━━━━━━━━
°⋆⸜ 𝙋𝙧𝙤𝙜𝙧𝙖𝙢𝙢𝙚𝙧'𝙨 𝘾𝙞𝙩𝙮 ⸝⋆°
➤ Code • Learn • Build
➤ @programercity
━━━━━━━━━━━━━━━━━━
❤1👏1
🧠 وقتی میخوای از یک برنامه‌نویس باتجربه کمک بگیری، این ۵ مورد رو آماده داشته باش:

1️⃣ دقیقاً چه مشکلی داری؟
2️⃣ انتظار داشتی چه اتفاقی بیفته؟
3️⃣ الان چه اتفاقی میفته؟
4️⃣ چه چیزهایی رو تا الان امتحان کردی؟

5️⃣بررسی کن Error یا کد مرتبط رو داری؟

مثلاً به جای:

❌ «Login کار نمی‌کنه.»
بگو:

✅ «در صفحه Login، وقتی Username و Password صحیح وارد میکنم، درخواست ارسال میشه ولی پاسخ 401 دریافت میکنم. طبق مستندات انتظار داشتم 200 دریافت کنم. Header مربوط به Authorization رو هم بررسی کردم.»

این دو سؤال، زمین تا آسمون فرق دارن.

📌 هرچه مسئله رو دقیق‌تر توضیح بدی، احتمال اینکه سریع‌تر به راه‌حل برسی بیشتره.

━━━━━━━━━━━━━━━━━━
°⋆⸜ 𝙋𝙧𝙤𝙜𝙧𝙖𝙢𝙢𝙚𝙧'𝙨 𝘾𝙞𝙩𝙮 ⸝⋆°
➤ Code • Learn • Build
➤ @programercity
━━━━━━━━━━━━━━━━━━
❤1👍1🔥1
🎯 چالش امشب ProgrammerCity

فرض کن این پیام رو از یک دوست برنامه‌نویس دریافت کردی:

❌ «داداش پروژه‌م اجرا نمیشه، یه نگاهی بنداز.»

اگر بخوای قبل از شروع بررسی ازش اطلاعات بگیری، ۳ سؤال اولت چی هست؟

سؤال‌هات رو بنویس. 👇

مثلاً:
🔹 دقیقاً چه خطایی دریافت میکنی؟

اما دو سؤال بعدی رو خودت پیدا کن. 😉

📅 فردا میریم سراغ یک موضوع مهم‌تر:

🔍 وقتی یک متخصص مشکل پروژه‌ات رو بررسی میکنه، چه کاری انجام میده و چرا فقط «جواب دادن» نیست؟

━━━━━━━━━━━━━━━━━━
°⋆⸜ 𝙋𝙧𝙤𝙜𝙧𝙖𝙢𝙢𝙚𝙧'𝙨 𝘾𝙞𝙩𝙮 ⸝⋆°
➤ Code • Learn • Build
➤ @programercity
━━━━━━━━━━━━━━━━━━
👍1🏆1
Programmer City «شهر برنامه‌نویس»
💼 از دانشگاه تا شرکت | قسمت ۲۳ 🆘 وقتی گیر کردی، چطور درست کمک بخوای؟ 🎬 داستان امروز... بالاخره تصمیم گرفتی از یکی از اعضای تیم کمک بگیری. پیام میدی: «سلام، این کدم کار نمیکنه، میشه کمکم کنی؟» هم‌تیمی: «مشکل چیه؟» تو: «نمیدونم، ارور میده! 😂» و حالا…
💼 از دانشگاه تا شرکت | قسمت ۲۴

🔍 تا حالا به این فکر کردی وقتی کدتو برای یک برنامه‌نویس باتجربه میفرستی، اون دقیقاً از کجا شروع میکنه؟

قرار نیست کدو باز کنه و با یک نگاه بگه:

«مشکل اینجاست!» 😎

معمولاً باید مرحله‌به‌مرحله جلو بره:

🔹 مسئله رو بفهمه
🔹 شرایطی که Bug اتفاق میفته رو بررسی کنه
🔹 مشکلو دوباره ایجاد کنه
🔹 مسیر اجرای برنامه رو بررسی کنه
🔹 علت اصلیو پیدا کنه
🔹 راه‌حل مناسبو بررسی کنه
🔹 و در نهایت تغییرو تست کنه

این یعنی Problem Solving واقعی.

━━━━━━━━━━━━━━━━━━
°⋆⸜ 𝙋𝙧𝙤𝙜𝙧𝙖𝙢𝙢𝙚𝙧'𝙨 𝘾𝙞𝙩𝙮 ⸝⋆°
➤ Code • Learn • Build
➤ @programercity
━━━━━━━━━━━━━━━━━━
❤1👍1
🐞 یک مثال واقعی:

فرض کن میگی:

«وقتی سفارش ثبت میکنم، برنامه Crash میکنه.»

متخصص نباید فقط بگه:

❌ «این خطو عوض کن.»

اول باید بفهمه:

🔎که Crash دقیقاً چه زمانی اتفاق میفته؟
🔎 آیا برای همه سفارش‌هاست یا فقط بعضی‌ها؟
🔎بعد Error Message چیه؟
🔎 قبل از Crash چه اتفاقی میفته؟
🔎 داده‌ای که وارد برنامه شده چه شکلیه؟
🔎 مشکل از کدوم بخشه؟

ممکنه در نهایت بفهمیم مشکل اصلاً در دکمه «ثبت سفارش» نیست!

مثلاً یک مقدار null از دیتابیس برگشته و چند مرحله بعد باعث Crash شده.

📌 به همین دلیل حل مشکل با کپی کردن یک تکه کد فرق داره.

باید علت اصلی پیدا بشه، نه فقط علامت مشکل.

━━━━━━━━━━━━━━━━━━
°⋆⸜ 𝙋𝙧𝙤𝙜𝙧𝙖𝙢𝙢𝙚𝙧'𝙨 𝘾𝙞𝙩𝙮 ⸝⋆°
➤ Code • Learn • Build
➤ @programercity
━━━━━━━━━━━━━━━━━━
👏2❤1
🎯 حالا یک سؤال:

اگر روی پروژه‌ات چند ساعت کار کردی و هنوز نمیتونی بفهمی مشکل دقیقاً از کجاست، ترجیح میدی:

1️⃣ چند ساعت دیگه خودم ادامه بدم.
2️⃣ از Google و Stack Overflow بیشتر استفاده کنم.
3️⃣ از یک برنامه‌نویس باتجربه کمک بگیرم.
4️⃣ فعلاً پروژه رو کنار بذارم. 😅

👇 شماره گزینه رو بنویس.

و اگر الان خودت دقیقاً در چنین شرایطی هستی:

🐞 یک Bug داری
💻 کدت درست اجرا نمیشه
🔎 علت یک Error رو پیدا نمیکنی
🧩 یا بخشی از پروژه نیاز به بررسی داره

میتونی مشکل رو برای ProgrammerCity بفرستی.

ما مسئله رو بررسی میکنیم، علت مشکلو پیدا میکنیم و مشخص میکنیم چه راه‌حلی برای پروژه مناسبه.

📩 برای بررسی، توضیح مشکلت + Error + کد مرتبطو ارسال کن.

گاهی چیزی که چند ساعت ذهنتو درگیر کرده، با یک بررسی درست خیلی سریع‌تر حل میشه. 🚀

📅 قسمت بعدی:

💰 اصلاً خدمات برنامه‌نویسی چطور قیمت‌گذاری میشن؟ یک پروژه یا رفع یک خطا چقدر باید هزینه داشته باشه؟

━━━━━━━━━━━━━━━━━━
°⋆⸜ 𝙋𝙧𝙤𝙜𝙧𝙖𝙢𝙢𝙚𝙧'𝙨 𝘾𝙞𝙩𝙮 ⸝⋆°
➤ Code • Learn • Build
➤ @programercity
━━━━━━━━━━━━━━━━━━
❤1👏1💯1
گوش بدین

━━━━━━━━━━━━━━━━━━
°⋆⸜ 𝙋𝙧𝙤𝙜𝙧𝙖𝙢𝙢𝙚𝙧'𝙨 𝘾𝙞𝙩𝙮 ⸝⋆°
➤ Code • Learn • Build
➤ @programercity
━━━━━━━━━━━━━━━━━━
👍2❤1🔥1👏1
💼 از دانشگاه تا شرکت | قسمت ۲۵

🎬 یک سناریوی واقعی:

یک مشتری بهت میگه:

«من یک سایت میخوام که مشتری‌ها بتونن سفارش ثبت کنن.»

تو هم شروع میکنی به ساختن:

💻 صفحه اصلی
💻 ثبت‌نام
💻 ورود
💻 محصولات
💻 سبد خرید
💻 پرداخت

همه‌چیز هم درست کار میکنه. ✅

اما وقتی پروژه رو تحویل میدی، مشتری میگه:

😐 «این چیزی نیست که من میخواستم.»

اینجا یک سؤال مهم وجود داره:

❓ مشکل از کدنویسی بود؟

نه لزوماً!

ممکنه مشکل از این باشه که قبل از کدنویسی، نیاز واقعی مشتری رو درست نفهمیدیم.

و این یکی از تفاوت‌های بزرگ بین «کدنویس بودن» و «توسعه‌دهنده نرم‌افزار بودن»ه.

━━━━━━━━━━━━━━━━━━
°⋆⸜ 𝙋𝙧𝙤𝙜𝙧𝙖𝙢𝙢𝙚𝙧'𝙨 𝘾𝙞𝙩𝙮 ⸝⋆°
➤ Code • Learn • Build
➤ @programercity
━━━━━━━━━━━━━━━━━━
❤1🔥1👏1
🧠 قبل از اینکه پروژه‌ای رو شروع کنی، فقط نپرس:

❌ «چه چیزی باید کدنویسی کنم؟»

بپرس:

🔹 مشکل اصلی چیه؟
🔹 چه کسی قراره از این سیستم استفاده کنه؟
🔹 کاربر دقیقاً چه کاری باید بتونه انجام بده؟
🔹 چه امکاناتی واقعاً ضرورین؟
🔹 چه چیزهایی فقط «ایده‌های جانبی» هستن؟

مثلاً مشتری میگه:

«یک ربات تلگرام برای فروش میخوام.»

قبل از شروع کدنویسی باید مشخص بشه:

🤖 ربات چه محصولی میفروشه؟
💳 پرداخت چطور انجام میشه؟
📦 بعد از پرداخت چه اتفاقی میفته؟
👤 اطلاعات مشتری کجا ذخیره میشه؟
📩 ادمین چطور سفارش رو مدیریت میکنه؟
🔔 آیا باید اعلان ارسال بشه؟
📊 آیا پنل مدیریت لازم داریم؟

📌 پروژه خوب از کد شروع نمیشه؛ از فهمیدن مسئله شروع میشه.

━━━━━━━━━━━━━━━━━━
°⋆⸜ 𝙋𝙧𝙤𝙜𝙧𝙖𝙢𝙢𝙚𝙧'𝙨 𝘾𝙞𝙩𝙮 ⸝⋆°
➤ Code • Learn • Build
➤ @programercity
━━━━━━━━━━━━━━━━━━
❤1🔥1👏1
🎯 چالش امشب ProgrammerCity

یک مشتری فقط این جمله رو بهت میگه:

> «یه ربات تلگرام میخوام که سفارش‌های مشتریامو مدیریت کنه.»

تو به عنوان برنامه‌نویس، اولین سؤالی که از مشتری میپرسی چیه؟

❌ سریع قیمت نده!
❌ سریع نگو «حتماً میسازم»!
اول سعی کن مسئله رو بفهمی.

👇 اولین سؤالتو بنویس.

📅 فردا میریم سراغ یک موضوع بسیار مهم برای هر کسی که میخواد از برنامه‌نویسی درآمد داشته باشه:

💰 چطور نیاز مشتری رو به یک پروژه قابل اجرا و قابل قیمت‌گذاری تبدیل کنیم؟

━━━━━━━━━━━━━━━━━━
°⋆⸜ 𝙋𝙧𝙤𝙜𝙧𝙖𝙢𝙢𝙚𝙧'𝙨 𝘾𝙞𝙩𝙮 ⸝⋆°
➤ Code • Learn • Build
➤ @programercity
━━━━━━━━━━━━━━━━━━
❤1👏1
💼 از دانشگاه تا شرکت | قسمت ۲۶

🎬 دیشب گفتیم:

مشتری فقط میگه:

> «یه ربات تلگرام میخوام که سفارش‌های مشتریامو مدیریت کنه.»

اما تو نباید همین‌جا بگی:

💰 «باشه، ۱۰ میلیون!»

چرا؟

چون هنوز دقیقاً نمیدونی قراره چی بسازی!

قبل از قیمت دادن، باید درخواست مشتریو تبدیل کنیم به یک لیست مشخص از نیازها.

مثلاً باید بپرسیم:

🔹 مشتری چطور سفارش ثبت میکنه؟
🔹 چه اطلاعاتی باید وارد کنه؟
🔹 محصولات از کجا مدیریت میشن؟
🔹 ادمین چطور سفارش‌ها رو ببینه؟
🔹 پرداخت آنلاین لازمه؟
🔹 بعد از ثبت سفارش چه اتفاقی میفته؟
🔹 مشتری باید وضعیت سفارشو ببینه؟
🔹 چند نفر قرار هست با پنل مدیریت کار کنن؟

📌 اولین مهارت مهم اینجاست:

قبل از اینکه بپرسی «چقدر کد بنویسم؟»، بفهم «دقیقاً چه چیزی باید ساخته بشه؟»

━━━━━━━━━━━━━━━━━━
°⋆⸜ 𝙋𝙧𝙤𝙜𝙧𝙖𝙢𝙢𝙚𝙧'𝙨 𝘾𝙞𝙩𝙮 ⸝⋆°
➤ Code • Learn • Build
➤ @programercity
━━━━━━━━━━━━━━━━━━
❤1👏1
🧩 حالا بیایم همون درخواست مشتریو تبدیل کنیم به یک پروژه واقعی.

مشتری گفته:

> «یه ربات برای مدیریت سفارش میخوام.»

بعد از صحبت با مشتری متوجه شدیم:

👤 کاربر باید بتونه:
▫️ محصولاتو ببینه
▫️ محصول انتخاب کنه
▫️ سفارش ثبت کنه
▫️ اطلاعات تماس وارد کنه
▫️ وضعیت سفارشو ببینه

👨‍💼 ادمین باید بتونه:
▫️ محصولاتو اضافه/ویرایش/حذف کنه
▫️ سفارش‌ها رو ببینه
▫️ وضعیت سفارشو تغییر بده
▫️ اطلاعات مشتریو مشاهده کنه

🔔 سیستم هم باید:
▫️ بعد از ثبت سفارش به ادمین اطلاع بده
▫️ تغییر وضعیت سفارشو به مشتری اعلام کنه

حالا یک درخواست مبهم تبدیل شد به:

✅ User Features
✅ Admin Features
✅ Notifications
✅ Order Management

و تازه الان داریم به یک پروژه واقعی نزدیک میشیم.

📌 این کار اسمش فقط «لیست کردن امکانات» نیست؛

ما داریم Scope پروژه رو مشخص میکنیم.

هرچه Scope واضح‌تر باشه، تخمین زمان و هزینه هم منطقی‌تر میشه.

━━━━━━━━━━━━━━━━━━
°⋆⸜ 𝙋𝙧𝙤𝙜𝙧𝙖𝙢𝙢𝙚𝙧'𝙨 𝘾𝙞𝙩𝙮 ⸝⋆°
➤ Code • Learn • Build
➤ @programercity
━━━━━━━━━━━━━━━━━━
❤1👏1
🎯 حالا نوبت توئه!

فرض کن یک مشتری بهت میگه:

> «یه سایت فروشگاهی میخوام.»

قبل از اینکه حتی یک خط کد بنویسی، چه اطلاعاتی باید ازش بگیری؟

حداقل ۵ سؤال بنویس. 👇

مثلاً:

❓ «چه محصولاتی قراره داخل سایت فروخته بشه؟»

اما ۴ سؤال بعدیو خودت پیدا کن. 😉

📌 برنامه‌نویس حرفه‌ای فقط کدنویسی نمیکنه؛
بلده نیاز مشتری رو به یک پروژه واقعی تبدیل کنه.

و این دقیقاً همون مرحله‌ایه که قبل از شروع هر پروژه باید انجام بشه.

📅 فردا میریم سراغ مرحله بعد:

💰 حالا که فهمیدیم پروژه دقیقاً چیه، چطور زمان و هزینه انجامشو تخمین بزنیم؟

این قسمتو از دست نده؛ چون قراره ببینیم چرا دو پروژه که روی کاغذ «تقریباً یکسان» به نظر میرسن، ممکنه قیمت کاملاً متفاوتی داشته باشن.

━━━━━━━━━━━━━━━━━━
°⋆⸜ 𝙋𝙧𝙤𝙜𝙧𝙖𝙢𝙢𝙚𝙧'𝙨 𝘾𝙞𝙩𝙮 ⸝⋆°
➤ Code • Learn • Build
➤ @programercity
━━━━━━━━━━━━━━━━━━
❤1👏1