Web appOpen in Telegram

Postاحتمالاً موقع نصب یه پکیج دیدید که نسخه‌ش مثلاً اینه: 3.7.2

26 September 2026
M
mohammad TooVinS
احتمالاً موقع نصب یه پکیج دیدید که نسخه‌ش مثلاً اینه: 3.7.2 ولی این سه تا عدد دقیقاً چی می‌گن؟ این سیستم اسمش Semantic Versioning یا SemVerـه و شکل کلیش اینه : MAJOR.MINOR.PATCH مثلاً: 3.7.2 یعنی: 3 → MAJOR 7 → MINOR 2 → PATCH حالا قسمت جذابش اینجاست MAJOR — تغییرات بزرگ و Breaking وقتی نسخه Major تغییر می‌کنه، ممکنه چیزهایی که قبلاً توی پروژه‌ات کار می‌کردن، دیگه کار نکنن. مثلاً: 2.4.1 → 3.0.0 فرض کن قبلاً این API رو داشتی: getUser(id) ولی توی نسخه جدید تبدیل شده به: getUser({ id }) کدت ممکنه بشکنه؛ چون API قبلی تغییر کرده. پس: Major = احتمال Breaking Change MINOR — قابلیت جدید، بدون شکستن قبلی‌ها مثلاً: 3.7.2 → 3.8.0 یک قابلیت جدید اضافه شده، ولی قرار نیست قابلیت‌های قبلی خراب بشن. مثلاً: getUser() همچنان کار می‌کنه و فقط قابلیت جدیدی مثل: getUsers() اضافه شده. پس: Minor = Feature جدید + سازگاری با قبلی PATCH — رفع باگ مثلاً: 3.7.2 → 3.7.3 اینجا معمولاً قابلیت جدیدی اضافه نشده؛ فقط باگ‌ها و مشکلات نسخه قبلی برطرف شدن. مثلاً: نسخه قبلی: calculateTotal() گاهی مبلغ اشتباه برمی‌گردوند. در نسخه جدید این باگ Fix شده. پس: Patch = Bug Fix حالا یه مثال واقعی‌تر فرض کن نسخه پکیجت اینه: 1.4.2 بعد: 1.4.3 → یک باگ Fix شده. 1.5.0 → یک قابلیت جدید اضافه شده. 2.0.0 → تغییر بزرگی اتفاق افتاده که ممکنه نیاز به تغییر کدت داشته باشه. پس فقط با نگاه کردن به نسخه می‌تونی بفهمی تقریباً چه نوع تغییری اتفاق افتاده. اما یه نکته مهم درباره npm وقتی توی package.json می‌نویسی: "react": "^19.0.0" این ^ مهمه. یا مثلاً: "lodash": "~4.17.21" این علامت‌ها مشخص می‌کنن چه نسخه‌هایی اجازه دارن نصب بشن. به زبان ساده: ^ → معمولاً Minor و Patch را اجازه می‌دهد. ~ → معمولاً فقط Patch را اجازه می‌دهد. مثلاً: ^1.4.2 1.4.3 ✅ 1.5.0 ✅ 1.9.9 ✅ 2.0.0 ❌ و: ~1.4.2 1.4.3 ✅ 1.4.9 ✅ 1.5.0 ❌ خلاصه: 1.4.2 │ │ │ │ │ └── PATCH → رفع باگ │ └──── MINOR → قابلیت جدید └────── MAJOR → تغییرات ناسازگار @programming_codiing
11 · 385 ·

Nearby in the feed

Mmohammad TooVinSهر چیزی که می‌تونید با npm install نصب کنید، لزوماً نباید نصبش کنید. قبل از اضافه کردن یه پکیج به پروژه، چندتا سؤال ساده بپرسید: واقعاً بهش نیاز دارم؟ خودم می‌تMmohammad TooVinSکتابم بخونید بنظرم تو برنامه‌تون به اندازه ای که به زبان اهمیت می دین به کتاب خوندن هم اهمیت بدید. متاسفانه خیلی ها بیخیالن ... @programming_codiing
this message
Mmohammad TooVinSبه بک اند هم پا گذاشتم می تونم بگم کارت از فرانت راحتره در اکثر پروژه ها واقعا دوست داشتنیه و لذت بخشه، اما دیگه مثل فرانت اند خبری از رنگ و این چیزا نیست، کارتMmohammad TooVinSیه ابزار کاربردی برای وقتی که می‌خواید localhost رو موقتاً روی اینترنت در دسترس قرار بدید. با ngrok می‌تونید پروژه‌تون رو با یه Public URL در اختیار بقیه قرار ب
<</ MoDev ></ MoDev >@programming_codiing · channel · Tech
465subscribers392average post reach
Venue feed Open in Telegram

An open public feed from the search index ChatCrawler — “Google for public Telegram”; refreshed as the venue is crawled. Times are UTC.

Public content only, official Telegram API. About · FAQ · What we do not do · Remove a page · Catalog · Search · How we count