تبدیل متن به camelCase firstWordLower رایگان آنلاین امن
یک سطر را بچسبانید و آن را بهصورت camelCase بخوانید. همهچیز در مرورگر شما انجام میشود — هیچ چیزی که تایپ میکنید به جایی فرستاده نمیشود — و قواعد از زبان همین صفحه پیروی میکنند، نه از انگلیسی.
آن را به شکل دیگری بنویسید
بدون بارگذاری
همان سطر در هر هفت شیوه نگارش
| شیوه نگارش | همان سطر، با آن شیوه نگارش |
|---|---|
| حروف بزرگ | CRÈME BRÛLÉE FOR 2 — STRASSE 17, FOOBAR |
| حروف کوچک | crème brûlée for 2 — straße 17, foobar |
| Title Case | Crème Brûlée For 2 — Straße 17, Foobar |
| snake_case | crème_brûlée_for_2_straße_17_foo_bar |
| kebab-case | crème-brûlée-for-2-straße-17-foo-bar |
| camelCase | crèmeBrûléeFor2Straße17FooBar |
| اسلاگ URL | creme-brulee-for-2-strasse-17-foobar |
این شکلها از کجا آمدهاند
حروف بزرگ و کوچک لاتین روزگاری دو الفبای جداگانه بودند. حروف بزرگ رومیاند و با اسکنه روی سنگ کنده میشدند؛ حروف کوچک از خط مینوسکول کارولنژی پدید آمدند که با قلمی در حرکت سریع روی پوست (پرگامنت) شکل گرفت. چاپگران این دو را در سینیهای جدا نگه میداشتند — جعبهٔ بالا (upper case) و جعبهٔ پایین (lower case) — و این نامها مدتها پس از ناپدید شدن سینیها ماندگار شد. شکلهای برنامهنویسی خیلی جوانترند و برای حل یک مشکل ابداع شدند: نام نمیتواند فاصله داشته باشد. snake_case از زبان C در روزهای نخستش آمد، camelCase از Smalltalk، kebab-case از Lisp، و slug نشانی وب از نیاز به گذاشتن یک عنوان انسانی در نشانیای که فاصله و حروف دارای علامت (accent) در آن مجاز نیست.
کجا با آنها روبهرو میشوید
حالت عنوان (Title Case) برای سرتیترها و عنوان کتابهاست؛ حالت جمله (Sentence case) برای تقریباً هر چیز دیگر، و روزبهروز بیشتر برای رابطهای کاربری، چون سریعتر خوانده میشود. snake_case نام ستونهای پایگاه داده و متغیرهای Python را میسازد؛ camelCase نام متغیرهای JavaScript و متدهای Java را؛ kebab-case نام کلاسهای CSS و فایلها در پروژههای وب را. slug چیزی است که عنوان یک مقاله را به بخش آخر نشانی آن تبدیل میکند، و تنها تبدیلی در اینجاست که موتورهای جستجو آن را میخوانند.
پرسشهای متداول
چرا بزرگکردن حروف گاهی تعداد حروف را تغییر میدهد؟
چون بزرگی و کوچکی حروف ویژگی زبان است، نه ویژگی یک نویسه. ß آلمانی در حروف بزرگ به SS تبدیل میشود، یعنی یک حرف دو حرف میشود. ترکی یک i نقطهدار و یک i بدون نقطه دارد و بزرگکردن i به İ میانجامد نه I — اشتباه گرفتن این، یک واژهٔ ترکی را به واژهای دیگر بدل میکند. تبدیلهای اینجا از قواعد زبان خودِ صفحه پیروی میکنند، و برای همین ورودی یکسان میتواند در صفحهٔ ترکی نتیجهای متفاوت از صفحهٔ انگلیسی بدهد.
چرا slug علامتهای تلفظی و نشانهگذاری را حذف میکند؟
چون یک نشانی باید از کپی شدن در پیام، چاپ روی کاغذ و تایپ دوباره با دست سالم به در ببرد. حروف دارای علامت در نشانیهای وب امروزی مجازند، اما هنگام کپی بهصورت درصدی (percent-encoded) درمیآیند و یک نشانی خوانا را به ردیفی از نمادها تبدیل میکنند. سادهکردن آنها به حروف ساده، ارقام و خط تیره، نشانی را خوانا، قابل اشتراک و در همهجا یکسان نگه میدارد.
آیا پاسخ دقیق است؟
هر جا دو واحد با عددهای صحیح بر حسب یکدیگر تعریف شده باشند، بله — صفحه این را بالای عدد میگوید و تنها گرد کردن در تعداد رقمهای نمایشدادهشده است. جایی که نسبت اعشار متناهی ندارد، صفحه دوازده رقم معنادار نشان میدهد و میگوید رابطه تقریبی است، نه اینکه وانمود کند دقیق است.
آیا چیزی که تایپ میکنم از دستگاهم خارج میشود؟
نه. محاسبه در مرورگر شما انجام میشود؛ هیچ چیزی بارگذاری نمیشود و سروری هم نیست که چیزی به آن بارگذاری شود. یک بار صفحه را باز کنید؛ با قطع بودن شبکه هم به کار خود ادامه میدهد.
چرا متن را به camelCase تبدیل میکنید
تقریباً هر فایل جاوااسکریپت، هر کلاس جاوا و هر کد سوئیفت یا کاتلین را باز کنید، نامها شبیه هماند: userName، totalPrice، getCustomerById، isLoggedIn. کلمهها بدون فاصله و بدون جداکننده به هم چسبیدهاند، اولی با حرف کوچک و هر کدام بعد از آن با حرف بزرگ، و برآمدگیهای میان کلمه نام این سبک را ساختهاند. این camelCase است، و شکلی است که بیشتر زبانهای خانوادهٔ C برای متغیرها و تابعها به آن رسیدهاند. تبدیل متن به camelCase یعنی عبارتی را که انسان مینویسد به نامی بدل کنید که برنامه میپذیرد و برنامهنویس میشناسد.
یک خط را بچسبانید و آن را به صورت camelCase بخوانید. تبدیل در مرورگر شما انجام میشود، چیزی که مینویسید به جایی فرستاده نمیشود، و قاعدهها از زبان این صفحه پیروی میکنند نه انگلیسی. خط را به کلمهها میبرد، اولین کلمه را کوچک میگذارد، حرف اول هر کلمهٔ بعدی را بزرگ میکند و بدون هیچ چیز میان آنها به هم میچسباند. در ادامه میخوانید صفحه دقیقاً چه میکند و چه نمیکند، با حرفهای دشوار زبانهای مختلف چگونه رفتار میکند، تفاوت camelCase با خواهر بزرگحرفش چیست، این شکل کجا قرارداد است و کجا نیست، و دامهایی که گریبان کسانی را میگیرد که با عجله متن را به camelCase تبدیل میکنند.
تبدیل چه میکند
برش، اولی کوچک، بعدیها بزرگ، چسباندن
صفحه اول خط را به کلمهها میبرد. کلمهٔ اول کوچک میماند. هر کلمهٔ بعدی در ابتدا حرف بزرگ میگیرد و بقیه کوچک است. بعد کلمهها بدون چیزی میانشان به هم چسبانده میشوند. خط Crème brûlée for 2 — straße 17, fooBar به صورت crèmeBrûléeFor2Straße17FooBar برمیگردد. اعرابها حفظ شدهاند، عددها به عنوان کلمههایی مستقل ایستادهاند، خط تیره و ویرگول رفتهاند، و fooBar، که صفحه آن را در حرف بزرگش میبرد، در پایان دوباره به صورت FooBar سر هم شده است.
برشها کجا میافتند
مرز کلمه فاصله است، یا علامت نگارشی، خط تیره، نماد، یا گذار از حرف کوچک به حرف بزرگ درون یک کلمه. پس customer first name، customer-first-name، customer_first_name و customerFirstName همه به customerFirstName تبدیل میشوند. این تبدیل تقریباً هر نقطهٔ شروعی را میپذیرد و همیشه به همان شکل میرسد، که آن را به گام آخر قابلاعتمادی پیش از رفتن نام به کد تبدیل میکند.
کپی کردن نتیجه
دکمهای کنار نتیجه آن را در کلیپبورد کپی میکند. در ویرایشگر یا فایلی که نام لازم است بچسبانید.
تبدیل چه نمیکند
علامتهای نگارشی را نگه نمیدارد
ویرگول، نقطه و خط تیره مرز میان کلمهها هستند، نه نویسههایی که باید منتقل شوند. برای نام متغیر همین را میخواهید و برای نثر نه. جملهای که از صفحه بگذرد به صورت نام برمیگردد و نگارشهایش رفتهاند.
اعراب را برنمیدارد
خط حرفهای اعرابیاش را نگه میدارد: crèmeBrûlée. بسیاری از زبانها اجازهشان را در نام میدهند، اما ابزارها و راهنمای سبکهای فراوانی نه. اگر حرف ساده میخواهید، اول عبارت را از صفحهٔ اسلاگ URL بگذرانید که نشانهها را از حرفهای لاتین برمیدارد، و بعد متن را به camelCase تبدیل کنید.
درستی نام را بررسی نمیکند
زبانهای برنامهنویسی قاعدههای خودشان را دارند. نام نمیتواند با رقم شروع شود و نمیتواند کلمهٔ رزروشده باشد. عبارتی مثل 2 for 1 به 2For1 تبدیل میشود که بیشتر زبانها همان نویسهٔ اول را رد میکنند. صفحه شکل را میسازد؛ درستی را شما بررسی میکنید.
camelCase و PascalCase
همان ایده، حرف اول متفاوت
وقتی کلمهٔ اول هم با حرف بزرگ شروع شود، مثل CustomerFirstName، سبک PascalCase، UpperCamelCase یا StudlyCaps نام دارد. قرارداد در بیشتر زبانها این است که PascalCase را برای نوعها و کلاسها و camelCase را برای متغیرها، تابعها و متدها به کار ببرند. این صفحه شکل با حرف کوچک در ابتدا را تولید میکند. برای گرفتن PascalCase، عبارت را تبدیل کنید و حرف اول را دستی بزرگ کنید.
چرا حرف اول مهم است
حرف بزرگ در ابتدا به خواننده میگوید نام یک کلاس است و حرف کوچک میگوید نمونه یا تابع است. در زبانهایی که قرارداد را ابزارها اعمال میکنند، مثل Go که حرف بزرگ یعنی عمومی، این تفاوت بخشی از معناست.
زبان اهمیت دارد
خطهایی که بدون فاصله نوشته میشوند
برش به کلمهها مرز لازم دارد. چینی و ژاپنی بدون فاصله نوشته میشوند، پس خطی به آن خطها به صورت یک کلمه برمیگردد. صفحه ترجیح میدهد همین را بگوید تا اینکه در جایی که حدس زده ببرد، چون برش اشتباه نامی تولید میکند که موجه به نظر میرسد و معنای غلط دارد.
ترکی و i نقطهدار
بزرگ کردن حرف اول هر کلمه از قاعدههای زبان صفحه پیروی میکند. در ترکی، حرف بزرگ i برابر İ است و حرف بزرگ ı برابر I. مبدلی که قاعدههای انگلیسی را اعمال کند کلمهها را تغییر میدهد. این صفحه از زبانی که به آن نوشته شده پیروی میکند.
آلمانی و s تیز
ß آلمانی در میان کلمه همانطور که هست میماند، مثل straße. STRASSE بزرگ به صورت strasse برمیگردد، با دو s.
خطهای بدون حرف بزرگ
عربی، عبری و خطهای هندی حرف بزرگ ندارند، پس کلمهها فقط به هم چسبانده میشوند. خوانا بودن نتیجه در چنین خطی به ابزاری بستگی دارد که در آن به کار میبرید.
camelCase کجا قرارداد است
جاوااسکریپت و تایپاسکریپت
متغیرها، تابعها و ویژگیهای شیء به camelCase نوشته میشوند، و ویژگیهای شیءهای JSON در بیشتر رابطهای وب هم همینطورند. عبارتی که برایش متن را به camelCase تبدیل میکنید احتمالاً به یکی از اینها میرود.
جاوا، کاتلین، سوئیفت، C# و دارت
همین عادت برای متغیرهای محلی و متدها برقرار است، با PascalCase برای کلاسها و، در C#، برای متدها و ویژگیها هم. راهنمای سبک تیم جزئیات را روشن میکند.
JSON از سرویسهای وب
بسیاری از APIها کلیدهایی مثل firstName و orderTotal میفرستند. اگر دادههای شما از یک جدول شروع میشود، CSV به JSON ردیف سرستونها را به کلید تبدیل میکند، و سرستونهایی که به camelCase تبدیل شدهاند کلیدهایی میشوند که کد بدون کروشه و گیومه میتواند بخواند. در جهت عکس، JSON به CSV کلیدها را دوباره به صورت سرستون مینویسد.
هشتگها و شناسهها
بیرون از برنامهنویسی، camel case برای هشتگهایی مثل #SpringGardenTips به کار میرود، چون حرفهای بزرگ مرز کلمهها را برای چشم نشان میدهند. برای دسترسپذیری هم بهتر است: صفحهخوانها هشتگ با حرف بزرگ را به صورت کلمههای جدا میخوانند، و رشتهای از حرفهای کوچک را به صورت یک کلمهٔ عجیب.
کجا قرارداد نیست
پایتون، روبی و پایگاههای داده
اینان زیرخط را ترجیح میدهند. برای آنها، snake_case ابزار است.
CSS و نشانیهای وب
نام کلاسها، ویژگیهای سفارشی و نشانیها خط تیره به کار میبرند. kebab-case را ببینید.
نثر و عنوانها
camelCase برای نامهاست، نه برای خواندن. عنوان یا جمله به آن برای چشم سخت است. برای سرفصل، Title Case را در نظر بگیرید.
چگونه در اینجا متن را به camelCase تبدیل کنیم
متن خود را بچسبانید یا تایپ کنید
عبارت را در میدان اول وارد کنید. نتیجه بلافاصله در دومی ظاهر میشود، پس میتوانید هنگام تایپ تغییرش را ببینید.
برشها و سرواژهها را بررسی کنید
ببینید کلمهها کجا تقسیم شدهاند و با سرواژهها چگونه رفتار شده است. نامی مثل parseHtmlString و نامی مثل parseHTMLString دو قراردادند، و صفحه یک قاعده را در همهجا اعمال میکند.
کپی کنید
دکمهٔ کپی را بزنید و نتیجه را هر جا لازم است بچسبانید. برای شکلهای دیگر همان خط، پایین را ببینید.
همان خط در هر هفت نوشتار
جدولی از شکلها
زیر مبدل، جدولی خط نمونه را در هر هفت شکلی که سایت عرضه میکند نشان میدهد: حروف بزرگ، حروف کوچک، Title Case، snake_case، kebab-case، camelCase و اسلاگ URL. راهی سریع است برای دیدن اینکه همان کلمهها در هر کدام چه شکلی دارند.
این شکلها از کجا آمدهاند
دو الفبا
حرفهای بزرگ و کوچک روزی دو الفبای جدا بودند. حرفهای بزرگ رومیاند، با قلمازن بر سنگ حک شده؛ حرفهای کوچک از مینوسکول کارولنژی میآیند، شکلگرفته با قلمی که تند روی پوست میلغزید. چاپگران این دو را در جعبههای جدا نگه میداشتند، جعبهٔ بالا و جعبهٔ پایین، و نامها مدتها پس از رفتن جعبهها ماندند.
نامهای بدون فاصله
شکلهای برنامهنویسی بسیار جوانترند و برای حل یک مشکل ابداع شدند: نام نمیتواند فاصله داشته باشد. snake_case از C اولیه آمد، camelCase از Smalltalk، kebab-case از Lisp، و اسلاگ URL از نیاز به گذاشتن عنوان انسانی در نشانیای که فاصله و اعراب در آن مجاز نیست. در camelCase حرفهای بزرگ همان کاری را میکنند که زیرخط یا خط تیره جای دیگر میکند، نشان دادن اینکه یک کلمه کجا تمام میشود و بعدی کجا شروع.
camelCase در گردش کار گستردهتر
از مشخصات تا کد
سند نیازمندیها با جمله نوشته میشود و کد با نام. میان آنها کسی باید هر اسم و فعل را به شناسه ترجمه کند. دستی انجام دادنش کند است و ناهمخوانی را دعوت میکند: یک توسعهدهنده customerName مینویسد، دیگری clientName برای همان چیز. اگر تیم توافق کند متن را از عبارت دقیق مشخصات به camelCase تبدیل کند، نامها از کلمهها پیروی میکنند و هر کس با جستوجوی عبارت میتواند کدی را که نیازمندی به آن اشاره دارد پیدا کند.
از سرستون جدول تا کلید شیء
صفحهگستردهها سرستونهایی مثل First Name، Order Total و Date Of Birth دارند. وقتی داده در برنامه به رکورد تبدیل شود، آن سرستونها کلید میشوند. تبدیل هر سرستون به camelCase چیزهایی مثل firstName، orderTotal و dateOfBirth میدهد که کد میتواند بدون گیومه یا کروشه به عنوان ویژگی بخواند. اگر داده بعد باید به صفحهگسترده برگردد، JSON به XLSX کلیدها را به عنوان ردیف اول مینویسد و حلقه بسته میشود.
از فایل طراحی تا مؤلفه
ابزارهای طراحی لایهها را با کلمههای ساده نام میگذارند: Primary Button، Card Title. وقتی توسعهدهندهها مؤلفهها را میسازند، این نامها شناسههایی مثل primaryButton و cardTitle میشوند، یا نام کلاسهای primary-button و card-title. آشکار نگه داشتن این نگاشت تحویل را روانتر میکند. برای اندازهها و رنگهایی که همراه لایهها میآیند، px به rem و HEX به RGB مقدارهای پشت نامها را تبدیل میکنند.
جستوجوی آنچه نام گذاشتهاید
سبک یکدست جستوجو را مؤثر میکند. اگر هر ویژگی camelCase باشد، جستوجوی orderTotal همهٔ کاربردها را پیدا میکند، و جستوجوی ordertotal یا order_total هیچکدام را، که خودش آموزنده است. سبکهای مخلوط یک ایده را میان املاهای مختلف پخش میکنند و از جستوجو پنهان میدارند.
تغییر نام امن
وقتی نامی عوض میشود، ابزار تغییر نام در ویرایشگر باید کار را انجام دهد، نه یافتن و جایگزینی. پیش از تغییر نام، برای نام جدید متن را از عبارت جدیدش به camelCase تبدیل کنید تا شناسهٔ جدید از ابتدا از قرارداد پیروی کند. بعد بگذارید ابزار هر ارجاع را بهروز کند.
چند نام را در جایی که خواهند زیست امتحان کنید
پیش از پذیرفتن دستهای از نامها، سه یا چهار تا را در ویرایشگر و درون خطهای کدی که ظاهر خواهند شد امتحان کنید. اگر هر کدام کنار بقیه طبیعی خوانده شود، دسته خوب است. اگر یکی ناجور باشد، عبارت را بازنویسی کنید و دوباره متن را به camelCase تبدیل کنید. آزمایشی کوتاه یک دقیقه خرج دارد و از تغییر نام در سراسر کدبیس جلوگیری میکند.
نامهایی که خوب خوانده میشوند
برای تابعها با فعل شروع کنید
تابع کنش است و نامش باید همین را بگوید: getUserName، calculateTotal، isValid. وقتی برای تابعی متن را به camelCase تبدیل میکنید، عبارت را با فعل شروع کنید.
برای مقدارها اسم به کار ببرید
متغیر چیزی را نگه میدارد: userName، totalPrice، orderList. بولیها به صورت پرسش بهتر خوانده میشوند: isActive، hasAccess، canEdit.
در مورد سرواژهها یکدست باشید
برخی تیمها parseHTML مینویسند، برخی parseHtml. هر دو خوب است؛ مخلوطشان نه. یکی را برگزینید و به همهٔ نامها اعمال کنید، و کدتان آسانتر جستوجو میشود.
نامها را قابل تلفظ نگه دارید
نامی که بتوانید بلند بخوانید نامی است که میتوانید دربارهٔ آن گفتوگو کنید. custFnDt اینطور نیست، و customerFirstDate هست. تبدیل آنچه مینویسید را حفظ میکند، پس چیزی بنویسید که ارزش حفظ داشته باشد.
دامها هنگام تبدیل متن به camelCase
نامی که با رقم شروع میشود
بیشتر زبانها رد میکنند. کلمه یا حرفی جلویش بگذارید.
کلمههای رزروشده
عبارتی مثل class، new یا default در بسیاری از زبانها کلیدواژه است. صفحه نمیداند کدام. پیش از استفاده از نام بررسی کنید.
سرواژهها و رشتههای حرف بزرگ
برشهای اطراف رشتهای از حرفهای بزرگ میتوانند شگفتزدهتان کنند. نتیجه را بخوانید و با قراردادتان مقایسه کنید.
اعراب در نامها
در برخی زبانها مجاز است و در برخی نه. اگر نام باید از ابزارهای قدیمیتر بگذرد، اول اعراب را بردارید.
پرسشهایی که مردم پیش از تبدیل میپرسند
با علامتهای نگارشی چه میشود؟
مرز میان کلمهها به حساب میآیند و منتقل نمیشوند.
آیا عددها حفظ میشوند؟
بله، به عنوان کلمههایی مستقل که به بقیه چسبیدهاند.
آیا ورودیای را که از قبل snake_case یا kebab-case است هم کار میکند؟
بله. زیرخط و خط تیره مرزند، پس my_variable_name به myVariableName تبدیل میشود.
چگونه PascalCase بگیرم؟
تبدیل کنید، بعد حرف اول را دستی بزرگ کنید.
آیا متن من بارگذاری میشود؟
خیر. آنچه اینجا تایپ میکنید هرگز به جایی فرستاده نمیشود، پس پیشنویس، گذرواژه یا نام مشتری اینجا بهاندازهٔ ویرایشگر متن امن است.
چگونه به جای آن زیرخط یا خط تیره بگیرم؟
با تبدیل متن به snake_case یا تبدیل متن به kebab-case.
یک مثال عملی
فرض کنید اسکریپت کوچکی برای محاسبهٔ هزینهٔ تحویل مینویسید و مشخصات مقدارها را delivery fee per kilometre، free delivery threshold و is express order مینامد. هر کدام را به نوبت تبدیل میکنید و deliveryFeePerKilometre، freeDeliveryThreshold و isExpressOrder را میخوانید. اولی با اسم شروع میشود، که برای مقدار درست است؛ آخری با is شروع میشود، که پرچم بلهیاخیر را نشان میدهد. این سه را به عنوان نام متغیر در اسکریپت میچسبانید، و مشخصات و کد حالا همان کلمهها را به همان ترتیب به کار میبرند، که بازبینی را آسان میکند.
یک فهرست بررسی کوتاه
پیش از تبدیل
عبارت را با کلمههای ساده بنویسید. تابعها را با فعل و پرچمها را با is یا has شروع کنید. زبان مقصد را از نظر کلمههای رزروشده بررسی کنید.
هنگام تبدیل
عبارت را بچسبانید، برشها را ببینید و مطمئن شوید نام با حرف شروع میشود.
پس از تبدیل
طول و سرواژهها را بررسی کنید و همهجا که لازم است همان نام را به کار ببرید.
اشتباههای رایج
استفاده از camelCase برای متنی که مردم میخوانند
برای نامهاست، نه برای نثر.
مخلوط کردن قراردادها در یک پروژه
برای هر لایه camelCase، snake_case یا kebab-case را برگزینید و به آن پایبند بمانید.
فراموش کردن آنچه مقصد اجازه میدهد
رقم در ابتدا، اعراب و کلمههای رزروشده بین زبانها فرق دارند.
متن شما روی دستگاه شما میماند
تبدیل به صورت محلی انجام میشود. متن شما را مرورگر خودتان پردازش میکند و چیزی به جایی فرستاده نمیشود. بعداً چیزی برای پاک کردن نیست و حساب کاربریای برای ساختن. این راه ساده برای تبدیل متن به camelCase است.
خلاصه
برای تبدیل متن به camelCase در اینجا، یک خط را بچسبانید و آن را با کلمههای بریده، اولی کوچک، حرف اول هر کدام از بعدیها بزرگ و همه به هم چسبیده بدون هیچ چیز میانشان بخوانید. خطی که از قبل به snake_case یا kebab-case نوشته شده در جداکنندههایش بریده میشود. صفحه علامتهای نگارشی را نگه نمیدارد: ویرگول، نقطه و خط تیره مرز میان کلمهها هستند، نه نویسههایی که باید منتقل شوند، که برای نام متغیر همین را میخواهید و برای نثر نه. برش به کلمهها مرز لازم دارد، پس چینی و ژاپنی، که بدون فاصله نوشته میشوند، به صورت یک کلمه برمیگردند. بزرگ کردن حرف اول از زبان صفحه پیروی میکند، پس i ترکی به İ تبدیل میشود. چیزی بارگذاری نمیشود.