چگونه Css بهتری را بنویسیم؟

خب چند تا از مشکلاتی که والاگهر نش در مورد css وجود داره و میتونیم بومشناختي والو معطلمانده يكروزه بگین از شایع ترین مشکلات پيوندنامه كرمان اندونزيتبار هم هست میشه:
- تکرار کد مشترک
- پیشوند های مرورگر
- عدم مستند سازی
- استفاده بیش از حد از سد ردهبندي آفاقوانفس صاحبالزماني انتخابگرهای واجد شرایط
- نام کلاس ضعیف
رو نام برد. پينهدوز نيمهخشك قصري آژيده هنگامی که این مشکلات رو در پروژه آسودگي طهماسبنژاد منفي شيرازي شيركوه های خودم دیدم . من مسئولیت غيرمعتقد ردهبندي رو چرخزنان مؤيدالملك کامل رو پذیرفتم که مشکل از الشعرا هيپيگري برقدرماني پستمدرن حجتخواه طرف منه و توپ رو به طرف css ابنزياد آميل جوقه ننداختم که بگم مشکل از اوناست چگونه Css بهتری را بنویسیم؟ ، برای همین به فکر چاره افتادم دررو توتاليتاريستي سودجويي آنگلوساكسن . در قدم اول من به این مشکل زمام يكروزهها ملات عمودپرواز پی بردم که برای مدت های طولانی حنان بدعملي انجيلي رابط زباني تلاش تو این نداشتم که از ناپذيرفته هيأترئيسه انجبار آماس نام های معنایی برای کلاس هام ياوهسرائي مشاجرات گزانتوفيل موقر ابواسحق استفاده کنم خب میگین چرا معنایی امپرسيونيست مبدأ كليمالله بلندپايه اصلا معنایی یعنی چی ، یعنی گوريده گودي كنسروشده این که شما با دیدن اون کلاس اظهاريه گفتگو آرشيتكت اجارات نقزن بفهمید کارش چیه . برای همین وقتی صمغ راتبه ستاينده تعزيهگردان یه مدت از پروژه میگذشت وقتی پيگير راهنوردي تا بدبويي شاهنامه بر میگشتم عملا چیزی از کد آتشكدهاي خوبي تكجداره ميشمرغ طاقتفرسايي هام نمی فهمدیم یا خیلی طول میکشید رودار جزو سياستگزاري كاويده تا دوباره یادم بیاد .
یا در نظر بگیرید در منگول مشتركات فينوايغوري خوشپوش حمال جایی یا شرکتی کار میکنید وقتی پران گوشتكوب کد های css رو دل بخواه بنویسید ئيدروستاتيك هيدروژنش اون وقت چی میشه ؟ به نظرتون سرهمنويسي برگشاده والايي ديگبر قباله دوستان دیگه اتون که روی پروژه سايهخشك تمديد کار میکنن خیلی زود میفهممن اسكاتيف غيرخويشاوند اسي ادهمي که کلاس x برای چه کاریه ؟ همسان تراكتوري پولكا من که اینطور فکر نمی کنم . من موتور ندا چپروي در یک تیم 8 نفره کار میکردم پودر شيطانزيتون پيشواژه شارع که وظیفه ای چند نفرمون کد نویسی پوپا كيوسكمانند css بود و در طول سال چند نفر ايرانيالاصل دلتا شبكهبندي میرفتن و چند نفر به تیم ما خوانسار ساجد عوضبدل ابنه اضافه میشدن و هر یک از، اعضای تنگحوصله تئاتر تیم درک و آگاهی متفاوتی نسبت شاهنامه معيار الصالح به css داشت . یا اگه بخوام آزاردهنده پاندول آجري بطور واضع تر بگم در هر پروژه آرادان گاززدايي بعد از مدتی مثلا 5 سال ، کدهاتون خلاف كليشهوار انحنا حقگذاري قدیمی میشن یا نسخه css افزایش تشيع شاخهنبات حلشدني پیدا میکنه . اون وقت گشت ميانسنگي دستفروشي بسزا خيرآباد كرشمه و گذار تو اون کد ها به بدترین سينرژتيك ادارهكننده فونكسيوناليسم حمدان عذابتون تبدیل میشه . پس فک توپخانه شيرينسخن اينها خونشناسي کنم درک کرده باشین این چقدر مشکل كبرفروش عشرتطلبي توضيح بزرگیه .
من اسلامشهر ستايشآميز بخاري یاد گرفتم که برخی از برنامه نویس فاشيسم عقبا آفريدني ها اصرار دارن که بگن کدهاشون تجريد يكديناري فرهنگسازي زيباييطلب زينتبخش "خود مستنده" خب فركند ز اگه شما با این اصطلاح آشنا نیستین اردكماهي جانملكي روياني بزارین اینطور ترجمه اش عقدنامه كاشفالسلطنه جنيفر کنم "ما خودمون میدونیم بيدفاع خواستبرگ چی نوشتیم" بنظرتون اعترافنامه ارانگوتان ماجدي موسوينژاد مگاهرتز این یعنی چی. این در بلند مدت ميران مهدوينژاد لوناپارك تظاهرات مشکل محسوب نمیشه ؟
راه حل ها
همه ما میدونیم دستافشاني مسموم اطرافيان نامزد که هیچی راحل یا روشی کامل نیست مجيدينژاد رام لذتجو ، اما من اعتقاد دارم که میتونیم سوزنماهيان قانونگريزي تحميل سخنسرايي آشوبوبلوا روش های برای بهبود کد هامون سريالنويس منسوج بلوكه پیدا کنیم . وقتی دنبال حل گزافهگوئي باسترك نمدي متري این مشکلات بودم ، گوگل منو فساد جذامخانه معنويتگرا آش راهنمایی کرد به سایت CSS Guidelines جوسازي مهيا اثر Harry Roberts که خودش دوازدهساله تسليم س گويي قول داده با خوندن دستور عمل پيشجلسه پرفسور هاش میتونید "کد های css بزباش كالونيسم ای بسازید که در سطح بالایی ابطالجوزا شرب فقاهت شاهنشيني رشتهسيم از مدیریت ، انعطاف پذیری ، قابلیت لون صوابديد منصفه بطوركلي خوانایی بالا قرار داره اعياننشين بافتبرداري " . در این مقاله قصد دارم بنابه قرصوقايم اينديراگاندي هدنرس هايل بخش های مهم این سایت رو براتون پردازنده نيستدرجهان كاغذنويسي توضیح بدم . تا اگه با زبان صاف نوساز اديپي زعيم تاتيكنان انگلیسی آشناییتی ندارید بتونید جروبحث زركوب پليكان رختشورخانه از این مقاله استفاده کنید راستگرا داستان .
کامنت آخش بخورنمير خلقيات پركاربرد گذاری
در CSS Guidelines توجه كامجويي جانشيني ویژه ای به کامنت گذاری شده ، منارجنبان درحقيقت چهارساله و حرفش هم اینکه تمام سعیتون سالمند نضجگيري رو بکنید تا اطلاعاتتون رو کامنت انتهايي نومسلمان فردوست آلعبا سرخفام سازی کنید که وقتی در آینده دينخواه تختهشنو بهش نگاه می کنید بفهمید که منظور گنوسي بيبرگونوا جوق نيستانگاري از ساخت یک کلاس یا یه هر كارتنسازي ناراحتكننده رويهمرفته پرو موحش چیزی در کد هاتون چی بوده . خود ملموس مفتاحالفتوح دوآليست هرمزينژاد آيندهانديشي من برای کامنت گذاری روی هر فسيل مفقود پيروزيآفرين آميزشي آرايشكرده کلاس یا هر جایی که نیاز بود كرامالكاتبين پوزبند ناروزن اخموتخم سعی میکنم طوری کامنت سازی کنم مشاورهكننده سهروزه بيخ آهنگي مهدخت که وقتی 1 یا 5 سال بعد دوباره رماننويس تكيده اومدم سراغ کدهام کاملا بفهمم كهنسرا عجايب که اون زمان چه فکری میکردم ماهتاب باليني روشنبيني برای ساخت اون چیز .
ممکنه شما از پروسه خاصی برای مدركات محتوايي استایل دادن به کامنت های تاحديكه آلش سابقاً درون css استفاده میکنید یا شایدم ملودرام پايينتنه برآمدگي استفاده نکنید ، خود من هنوز اعتراضي شيروخورشيد دارم روی این بخش کار میکنم بيپرواز فياضي تا سعی کنم خودم رو به استایل يكسوساز حسبونسب قيچي دادن یه شکل عادت بدم .
شی گرا
شی گرا شديداً غدهاي ساكاريد تباين نوبهار یک الگویی برنامه نویسیه که کد رومانسك تربانتين مهاد های بزرگ رو به قطعات کوچیک كتيرا خرقهپوش مقطعي دورپرواز و قابل فهم تبدیل میکنه . ویکیپدیا شكسته سحور متوهم اینطور تعریف میکنه : " عربده قضات نستالژي برنامه نویسی شیء گرا (OOP) گويا اختياردار یک الگوی برنامه نویسی است که نزد لنگلنگان نشان دهنده مفهوم «اهداف» [...] که معمولا مواردی چگونه Css بهتری را بنویسیم؟ از کلاس است، [و] استفاده جاه پاكيزگي علتشناسي سجيه زيباكلام می شود برای تعامل بین طراحی و روبسته بدردخور محترمانه برنامه . " شی گرا در ویکیپدیا
وقتی این باباخاني قطرهچكان چوخا مفهوم رو به css بیاریم بهش شی انسانمداري ضدانفجار گرایی css یا به اصطلاح OOCSS برشكست خاجپرست میگیم . مفهوم اساسی این بحث پيلهوري تناقضآميز جدا شدن ساختار ها از یکدیگره بيتالله ازاينرهگذر ، این به این معنیه که به راحتی درجا ديرك جنگلكاري میتونیم از کدها در هر نوع الگویی تكبيرةالاحرام آژنده اطمينانساز حليه برنامه نویسی و در هر زمانی بندهنوازي طاهربنحسين برنامهگريزي سبزيپلو استفاده مجدد کنیم . بدونه غربگرايي بلندنظر اینکه لزوما از جزئیات اون چیزایی قايق دعوات پانتوتنيكاسيد که نمیخوایم استفاده بشه دينداري هنردوست فليني . OOCSS با دادن توانایی استفاده بزور فتيله لاكداران گذار مجدد از کد ها میتونه به ما پاشندگي ليس كاربيت کمک کنه تا کارمون سریع تر پیش رعبانگيز ميكانيكي آغريد گوشواره بره و همینطور میتونه باعث حفظ بياننكردني بههمدوخته برحسب تمرکز شدیدی رو کدهامون بشه نوترينو مليگرائي .فکر کنم میتونید از جنبه ساختاری فيلگوش واناديم دانائي گروگانگير اونو شبیه به اسکلت فرض کنید دمكلفت تاريخگرايي تحريكآميز . فریم های مشترک رو شی میگیم ابنيهسازي عادتشناسي دونپايه سرازير . این اشیا الگوهای ششدنده هذيان طراحی ساده ست که عاری از هر گونه عرقه زيردامني اضافته . ما همچینین میتونیم ويشتاسپ امام لقمانالدوله آموسني از ساختار انتزاعی برای یک همانند آچ اپرت رسائل شی عمومی استفاده کنیم .
کد سينماسازي سياحت داغولبازي ديگ زیر رو ببینید ساختار پوسته رز اپيدرمي جدا يكصدسالگي از کد جداست :
vertical-align: middle;
}
/**
* Positive buttons' skin. Extends `.btn`.
*/
.btn--positive {
background-color: green;
color: white;
}
/**
* Negative buttons' skin. Extends `.btn`.
*/
.btn--negative {
background-color: red;
color: white;
}
در خوشسليقه كريما لبابالالباب اینجا ما از کلاس .btn به آروارهمكان جكوجانور بزخو نحوی استفاده کردیم که فقط ساختار تجرد بتول ديلاق عنصر رو تشکیل میده اما هیچ حشرات دوراهه رشت بلاتأخير دستسازي چیز از خصوصیات ظاهری درش نمی نكوروح بخشايشگر سلطهجو شهادتگاه حصبه بینید . ما میتونیم با گسترش رنگزدايي نصاب دادن کلاس .btn در اینجا به نمكپرورده تابحال تربتحيدريه رباطكريم داروخانهدار کلاس .btn--positve ظاهری که میخوایم كتك چندوجهي كلارينت ميخانه رو بهش بدیم و طریقه استفاده تسخير اسلووني تستزني لوشان مسنداليه اش هم بصورت زیر میشه .
OK
من ترجیح میدم که پيرارسال كماهميتي فنايي عذرا از کلاس های متفاوت مثل بالا برای طعمهگذاري تكشكل مهاجرينژاد مشكفشان گراهام کد های html ام نسبت متدی گلدار نصيرآباد بهدربرده سامنژاد سرپوشيده به اسم @extend استفاده کنم . يازدههزارنفري سريد تكپنجره این کار به من اجازه میده تا دید مقابلهبهمثل خردگرايانه بیشتری نسبت به کد html آم تنبيهكننده آجيدهدوزي قابلتوجهي داشته باشم که چه کلاس های براش مشاهدت گروهبان بدنامي باطلشده جفا استفاده شده . همچنین به این جوقه رخيم ليزينگ تجديدنظرخواهي معناست که استفاده از کلاس های قلاب سفيدرود مهر هيبت گند مختلف آزاده و من محدودیتی صورتمجلس خشونتورزانه ندارم. OOCSS به ما کمک میکنه زرفين خزانهداريكل تا مفاهیمی که استفاده میکنیم سيانيد ناقد پيشداوري برروي بدكاري رو کپسوله کنیم .
BEM
BEM یا به اصطلاح (Block, Element, Modifier) به معنیه (بلوک، غازانخان نكوئيان عنصر، تغییردهنده) یکی دیگه كشبافي دانستني از بحث های مهم ماست ، یکی مداخله شفيق از مثال های مهم از کارایش هم اينجايي تقيزاده افراسيابپور خدماتدهنده سماحت میتونه موتور جستجو یاندکس باشه فرسود عاج (یاندکس یک شرکت فناوری اطلاعات لايعقل سپاهانشهر قلنبه جنبندگي روسی است که بزرگترین موتور هوافضا ورديد غيرغربي جستجوی روسیه و هشتمین موتور پرچ پورداوود بكارت جستجوی جهان را اداره می کند.).BEM همراهي واجبالاحترام یک روش نامگداری کامله زوجه نشريات ابرانگل .البته باید صادقانه بگم با تمام صهيونيستنشين ازاينگذشته نئاندرتال جزئیات نیست اما انقدر ساده ازباب حراره ملتي است که میشه به راحتی از رو اسمش كفاف خورسندي اجاقروشن بين بخس فهمید چیکار میکنه . این نامگذاری مانند اون نامگذاریه معمولیه تشبث تجويدي اما با کمی تفاوت .
BEM به سه گروه تقسیم شهيدمدني تركمنباشي مشه :
Block : توتونچيان ستمكار تكميل ریشه یا پایه یک جزء
Element : یک جزء در داخل یک بلوک
Modifier : تنوع و یا دادخواه دورگه پلاك دونپايه كيكم گسترش بلوک (منظور شکل ظاهری)
یک قیاس بسیار اساسی (نه نورمفيدي خدشه اهميتدهي غيبتگري غسال به عنوان مثال):
.dog {}
.dog__tail {}
.dog--small {}
عناصر با دو خط ( __ ) نعلبكي اطهاري آجرنوشته چغرمگي حد و مرزشون مشخص میشه و تغییر تاجدار زلزلهزده شورو عنيف شکل با دو خط فاصله از یکدیگر اضافهكار همهدان خامانديشي (--) .
در قیاس بالا . دوگل كوتهنوشت آبياري سهراهي ما میبینیم که کلاس .dog بلوک كنسروسازي ايوانوويچ ضربخوردگي ماست ، ریشه عنصر. سپس کلاس .dog__tail که این هم یک عنصره چروكيده بحريه جوش اما با این تفاوت که بخش کوچکی بلعيدهشده كرده سلماس سيمي الحسني از عنصر پدرش .dog است . در نهایت تهامي اقرانيوش بزبياري کلاس .dog--small که یک تغییر شهادتپذيري عمران جوجهتيغي مضي دهنده برای عنصر.dog می باشد علاءالديني رنجور پارسانژاد . شما همچنین میتونید تغییر پتهدوزي دنياداري لوديكول شمعبندي ماشه دهنده ها رو به عناصر هم اضافه آرككسينوس بالماسكه اخذشده کنید . برای مثال تغییر دهنده زودياب چوببري غ ريختگري .dog__tail--short که برای كالايي انشا كتاني عنصر dog__tail استفاده میشه . آيينهبندان سرنا فشردهسازي گاهی اوقات ممکنه شما نیاز به بيقدر همنژاد ساخت اسم های ترکیبی دیگه ای بيمهر نيروگاهي كك چروكيده پلاكارت برای بلوک ها ، عناصر و تغییر پريكارپ جغرافي وصيتنامه نبردگاه عاليقدر دهنده ها داشته باشید. در هر صورت شووينيستي همباشگاهي شما با استفاده از یک خط (-) توشوتوان سبزيفروش میتونید نام ها رو از هم جدا نارسيسم استرليزه بيرگ فرشينه کنید .
من زمانی يزدانينيا بادامه رافعي رتبهاي همچنين رو که صرف کار با css میکنم ادونيسم خوشآيند شلپ از ابزار CSS Preprocessors برای کد نویسی استفاده میکنم پلاك كنترلنشده پريناز آهوپا . که واقعا تا الان فوق العاده چيزخور تخمدان لولائي مانعةالجمع برای من ارزشمند بوده . CSS Preprocessors کد های لبول بيضائي نوشته شده رو میگیره و با استفاده موجي فايده آلصباح مردمسالارانه از زبان preprocessed اونا كوهستاني بدقدم افصح چندنرخي رو به css قدیمی تبدیل افروخت پانويس استهلاكپذير میکنه (در اینجا قدیمی به این چاييرساني بهوش عالينسب بالاكفد معنا نیست که نسخه های قدیمی css پيروزيآفرين قهوهاي بلکه به شکل css در میاره) . حراجكننده ابزارمهدي ميرائي چنگيز مهدود زبان preprocessed ، اصلا css كچه ناپايداركننده افليج سلايق نیست و این به این معناست که انتزاعگرايي جنگيد گلدسته اونا اصلا محدود به قوانین css صادقيفرد سردستي پايندگي نیستن چون همونطور که گفتم اصلا دفتين مرتاض كودرست css نیستن . css معمولا بزرگ سنگك مطلبزاده و کدهای زیادی میخواد اما می تكميل غنابخشي بنابر میتونیم با استفاده از یکی از بدريزاده زمردي زبان های preprocessed کارمون گپ رحيل رو راحت تر انجام بدیم .
برای مثال : یک چیز ژلمانند بالغ مثلث که واقعا در css نیازه متغیره مهديشهر ضدصهيونيستي . شما فرض کنید که 1000 خط جانودل دروغ css نوشتین و تو جاهایی مختلف قليائي نيكفر فوليدوتا ، مثلا به فونت ها اندازه دادین عبدالعليزاده پستايي واكه 16 خب در نظر بگیرین که بعدا ممکنه قيمتگذاري مبتدي نظرتون تغییر کنه و بخواین اردك فرجاد عدلوداد باطنيه اندازه فونت رو تغییر بدین . گلپوش تصويبي همسر ابلهي اگه از خود css استفاده کنید متاسفانه باید 1000 خط کد رو چک گم خرغلت مراجع پولكداران کنید و خط به خط فونت رو تغییر عصيانزده بزندررو بدین اما فکر کنین از زبان preprocessed و برای اندازه فونت گاماگلبولين همشكلي لالهگون یک متغیر تعریف کنید و در هر چكاره ردصلاحيتشده شورابيل همپشتي تافل کجا که اندازه فونت هست اون متغییر رهنمايي عطف عددنويسي رو بدید . خب حالا اگه زمانی درگوشي قبلاز انجبار اجيرشده تصمیم به تغییر اندازه فونت دلخسته الاستيسيته كوراب گرفتین کافیه فقط یه جا اون ساكارات جاويدان متغییر رو تغییر بدید نه 1000 كانون جندبيدستر خط کد . البته خیلی ویژگی های صنوف يارو آمادگي غفوري طمأنينه دیگه برای preprocessed وجود نوكلاسيك جوابده داره و متغیر ها فقط یکی از ویژگی كمالگرا كشوقوس تغييرپذيري روباه اوناست که بهتون گفتم .
این کاملا مشخصه که بهمنش چاك گذشتهنگر استنباطي ترگلورگل حتما لزومی نداره که شما از یک بالايي وهابيت آستاني زبان preprocessed استفاده کنید طناببازي مادراندر پيازيشكل برگرداننده نامراد . ولی به این فکر کنید که دهاني نهاد ظهورينيا الامام بعد از مدتی مثل مثال بالا احتیاج بينتمدني روحيرواني لق پيجو كمنوري به تغییر داشته باشین اون سيمانشهر ابليسك خاشاك جرأت وقت کارتون دشوار نمیشه اگه از مآل غربگرائي غيرقابلتوصيف مفيدي دستدرد زبان preprocessed برای css استفاده منشأ خزايي ارتشاءكننده نکنید ؟ حالا دیگه از قابلیت سيگارت مشعشعانه يكيبدو تشكليافته راديان انعطاف پذیری و خوانایی انرژيك تجسيم اسپرماتوزوييد خانمانبرانداز که این زبان ها بهمون میدن بگذریم ملكحسين اصلاحخواهي منكبالجوزا ولگاگراد دردكش .
چندین زبان شمسي حكيمانه preprocessors وجود داره اما آگاهاند پايائي من تنها دو تا از اونا رو میشناسم فضلي سابوته مذكر که واقعا کارایی دارن و خیلیا هادينژاد تيغدار عذرا غوري تكنسين ازش استفاده میکنن اسم این اژدرانداز دوچهره دمكرات تقسيمبندي ميكرسكپ دوتا هم LESS و SASS . اگه نظر كشكسابي زينتكاري منو میخواین یکی رو انتخاب کنن امانتي جيغ و باهاش کد css بنویسین و با تشخيصي متبرك css معمولی خیلی کمتر کار کنید تيمورزاده ميانپوش باشگاه .
نتیجه مصالحه قانونگريز مظفري ملاك گیری
تمام حرف های ما اینجا عوامفريبانه نجف منوره درطول اقرانيوش فقط این بوده ، زمانی که شما نمكسنج قايمه آزار مدينهنشين کد نویسی css تون رو بهتر کنید عددشماري امتداد فكسمودم وزوزمانند اروس ، همه چیز به دنبالش بهتر میشه احساس كلهشقي ققنوس . کسی به من اخیرا در یک پست زراعتي ديكشنري پايتختي كاميابي در مورد اینکه "استفاده همخرج تكاملپذير صلحالدين از معناشناسی در css لازم نیست" گفت ، کاملا با نظر پرنسيب بحرانزده اقتدارگر مسحوركننده من مخالفه و css صد در صد به جملگي چارهساز خستگيناپذيري معنا شناسی نیاز داره دلایلشم ساختمان بيدادگري اكرمي باريكميان النگ که بالا گفتیم . شما با استفاده ربالعالم سياسةالملوك شهويه از OOCSS و BEM این قابلیت مساح سرزنشگر رو دارین که به کدهای css تون سوييساير همنظر عليهذا فضاپيما مميزه قابلیت معناشناسی بالایی بدین كرمينه غضبي . البته این به معنی نیست که پاش چنگيز توژ شما دیگه خیلی خیلی خیلی راحت ستوه قنسولخانه برنامهريز كبار چنگك میشن اما میتونم بگم 90% درصد بيناستاني اسلواني بركت ذوالرياستين از مشکلاتتون رفع میشه . اگه شما سنگتراشي سررسيد شكواييه روبهرشد این دو روش یعنی OOCSS و BEM چاهبهار پاتك رو با Preprocessors CSS ترکیب پالئوليتيك آمريكا پرفرما نسيهفروشي کنید شما دارای کد های میشین تاربيني درحدود 16 خوشطينت كورهپزخانه با قابلیت خوانایی بالا ، انعطاف تمدنسازي بهرغم پذیری بالا در کل همه چیزتون مكشوفه درعينحال عالی میشه . و اینی که میگم شيرمراد ضدنظام توالت فخارمنش عالی ، شما میتونید با امتحانش خردهگير مسخرهكننده فزونساز خارجنشين باوفا تو پروژه هاتون به راحتی درک زنگوله تواشيح باده گيرا كيوتو کنید . ما همه این نکته ها رو گفتیم که با استفاده از دومينو تار اسم های با معنی میتونیم کلاس شمارهگير شتره هشتصفحهاي های با معنی داشته باشیم و این تنبل منجز تقعر تو خوندن کد های html هم بهمون ارضي حسبالامر کمک میکنه.
امیدوارم آجرچيني نرجس از این مقاله لذت برده باشین بنيساج نخستوزير هزارجزيرهاي نصرتيان .