در پروژههای نرمافزاری، مدیریت و نگهداری کد منبع یکی از بخشهای مهم توسعه هستش، ما از ابزارهای متعددی برای این منظور استفاده میکنیم، مثه GitLab، Bitbucket و GitHub. این پلتفرمها با فراهم کردن قابلیت همکاری و اشتراکگذاری کد، به توسعهدهندگان این امکان رو میدن تا به راحتی تغییرات در کد رو مدیریت و دنبال کنه. اما هسته اصلی تمام این ابزارها، Git هستش که در اکثر سازمانها به عنوان استاندارد مدیریت نسخه مورد استفاده قرار میگیره (هرچند هنوز روشهایی مثل زیپ کردن کد منبع هم در برخی تیمها دیده میشود😅)
یکی از مهمترین مواردی که در کار با Git باید رعایت کنیم، نگارش صحیح کامیت هستش(اینکه چه تعداد کامیت زده بشه، مورد اختلاف علما هستش) اما کیفیت و شیوه نوشتن متن کامیت بسیار مهم هستش. یک کامیت خوب باید به گونهای باشه که سایر اعضای تیم بتونن به راحتی متوجه بشن چه تغییری انجام شده و دلیلش چیه. به همین منظور، یک ساختار استاندارد برای نوشتن کامیت پیشنهاد شده که به ما کمک میکنه متنهای کامیت واضح و مفهومی باشند
دستهبندی کامیتها
کامیتها رو میتونیم به ۹ دسته اصلی تقسیم کرد:
بیایید چندتا مثال بزنیم
۱. افزودن ویژگیهای جدید
- افزودن یک قابلیت جدید به سیستم ثبتنام:
- اضافه کردن پنل ادمین جدید:
۲. رفع باگها
- رفع مشکل ورود کاربران:
- رفع خطای محاسبه مالیات در فاکتورها:
۳. مستندسازی
- اضافه کردن راهنمای نصب برای پروژه:
- بهروزرسانی README:
۴. تغییرات فرمت و سبک کد
- بهبود خوانایی کد:
- استفاده از کاما در جای درست:
۵. بازسازی و بازنویسی کد
- بازنویسی یک تابع بزرگ برای سادهتر شدن:
- بهینهسازی ساختار پروژه:
۶. بهبود کارایی
- بهینهسازی عملکرد کوئریهای دیتابیس:
- کاهش زمان بارگذاری صفحات:
۷. تستها
- اضافه کردن تستهای جدید برای تابع جستجو:
- بهروزرسانی تستهای قدیمی:
۸. تغییرات جانبی و ابزارها
- بهروزرسانی پکیجهای pip:
- تنظیم محیط توسعه برای استفاده از Docker:
۹. یکپارچهسازی مداوم (CI)
- افزودن یک اسکریپت CI برای ساخت اتوماتیک پروژه:
- رفع خطای پیکربندی در pipeline:
نکات مهم:
1. وضوح و شفافیت: پیام کامیت باید به وضوح تغییرات ایجاد شده را بیان کند. از عبارات گنگ یا نامفهوم پرهیز کنید
2. سازگاری با استانداردها: استفاده از کلمات کلیدی مانند feat، fix و... برای دستهبندی کامیتها، کمک میکند تا تاریخچه تغییرات پروژه ساختاریافته و قابل پیگیری باشد
3. توضیحات کوتاه اما مفید: در پیام کامیت بهخصوص در خط اول، تلاش کنید مختصر و مفید تغییرات را بیان کنید. در صورت نیاز، توضیحات اضافی میتواند در خطوط بعدی پیام کامیت اضافه شود
#git
#gitlab
@code_crafters
یکی از مهمترین مواردی که در کار با Git باید رعایت کنیم، نگارش صحیح کامیت هستش(اینکه چه تعداد کامیت زده بشه، مورد اختلاف علما هستش) اما کیفیت و شیوه نوشتن متن کامیت بسیار مهم هستش. یک کامیت خوب باید به گونهای باشه که سایر اعضای تیم بتونن به راحتی متوجه بشن چه تغییری انجام شده و دلیلش چیه. به همین منظور، یک ساختار استاندارد برای نوشتن کامیت پیشنهاد شده که به ما کمک میکنه متنهای کامیت واضح و مفهومی باشند
دستهبندی کامیتها
کامیتها رو میتونیم به ۹ دسته اصلی تقسیم کرد:
1. feat: افزودن یک ویژگی جدید به کد
2. fix: رفع یک مشکل یا باگ
3. docs: تغییرات مرتبط با مستندات
4. style: تغییرات فرمتبندی که تأثیری بر عملکرد یا معنای کد ندارند (مانند فاصلهگذاری یا استفاده از نقطهویرگول)
5. refactor: تغییرات در ساختار کد بدون تغییر در عملکرد یا رفع باگ
6. perf: تغییراتی که به بهبود عملکرد منجر میشوند
7. test: اضافه یا تغییر تستهای نرمافزار
8. chore: تغییرات مرتبط با ابزارها، کتابخانهها یا فرایندهای پشتیبان (مثل تنظیمات build)
9. ci: تغییرات مربوط به سیستمهای یکپارچهسازی مداوم و استقرار
بیایید چندتا مثال بزنیم
۱. افزودن ویژگیهای جدید
- افزودن یک قابلیت جدید به سیستم ثبتنام:
feat(auth): add user registration with email verification
- اضافه کردن پنل ادمین جدید:
feat(admin): add dashboard for managing users and orders
۲. رفع باگها
- رفع مشکل ورود کاربران:
fix(auth): fix login issue with incorrect password handling
- رفع خطای محاسبه مالیات در فاکتورها:
fix(invoice): correct tax calculation in final price
۳. مستندسازی
- اضافه کردن راهنمای نصب برای پروژه:
docs: add installation guide for new developers
- بهروزرسانی README:
docs: update README with new API endpoints
۴. تغییرات فرمت و سبک کد
- بهبود خوانایی کد:
style: format code according to eslint rules
- استفاده از کاما در جای درست:
style: add missing commas in product component
۵. بازسازی و بازنویسی کد
- بازنویسی یک تابع بزرگ برای سادهتر شدن:
refactor(cart): split calculateTotal function into smaller functions
- بهینهسازی ساختار پروژه:
refactor(folder-structure): reorganize components and services folders
۶. بهبود کارایی
- بهینهسازی عملکرد کوئریهای دیتابیس:
perf(database): optimize query for retrieving large datasets
- کاهش زمان بارگذاری صفحات:
perf(page-load): lazy load images to improve page load time
۷. تستها
- اضافه کردن تستهای جدید برای تابع جستجو:
test(search): add unit tests for search functionality
- بهروزرسانی تستهای قدیمی:
test(cart): update tests to reflect changes in cart logic
۸. تغییرات جانبی و ابزارها
- بهروزرسانی پکیجهای pip:
chore(deps): update pip packages to latest versions
- تنظیم محیط توسعه برای استفاده از Docker:
chore(docker): add Dockerfile for local development
۹. یکپارچهسازی مداوم (CI)
- افزودن یک اسکریپت CI برای ساخت اتوماتیک پروژه:
ci: add CI script for automated builds
- رفع خطای پیکربندی در pipeline:
fix(ci): fix incorrect variable in CI pipeline
نکات مهم:
1. وضوح و شفافیت: پیام کامیت باید به وضوح تغییرات ایجاد شده را بیان کند. از عبارات گنگ یا نامفهوم پرهیز کنید
2. سازگاری با استانداردها: استفاده از کلمات کلیدی مانند feat، fix و... برای دستهبندی کامیتها، کمک میکند تا تاریخچه تغییرات پروژه ساختاریافته و قابل پیگیری باشد
3. توضیحات کوتاه اما مفید: در پیام کامیت بهخصوص در خط اول، تلاش کنید مختصر و مفید تغییرات را بیان کنید. در صورت نیاز، توضیحات اضافی میتواند در خطوط بعدی پیام کامیت اضافه شود
#git
#gitlab
@code_crafters
❤10👍2