دسته بندی : متفرقه

چهار اصل مهم برنامه نویسی DRY,KISS,YAGNI ,Demeter

به ما یادآوری میکنه تا جایی که امکان داره از پیچیده کردن کدهامون جلوگیری کنیم، از استفاده ویژگی های فانتزی بجز در مواقع ضروری خودداری کنیم.

قانون YAGNI (you aren't gonna need it) ؛

ساده ترین کاری که ممکنه مفید با‌شه رو انجام بدید، فکر کنید تو زمان پیاده سازی یه فیچری که احتمال میدید بعدا استفاده قراره بشه رو طراحی میکنید ، ولی بعدها می‌فهمید که این فیچر اصلا کارایی نداشته یه زمانی هم برای حذفش میزارید، همین کار باعث از بین رفتن وقتتون میشه، آینده نگری رو حدالامکان کم کنید.

قانون DRY (Don't Repeat Yourself) ؛

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

و قانون آخر :  DEMETER 😎

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

این قطعه کد رو مشاهده کنید در این قطعه کد من میخوام اطلاعات مربوط به شهر سکونت یک کاربر را دریافت کنم ! خوب اگر من این وسط این قطعه را در چندین جای مختلف پیاده کرده باشم چه اتفاقی می افتد ؟ حال اگر تغییری این وسط اعمال شود چه ؟

$𝒖𝒔𝒆𝒓->𝒊𝒏𝒇𝒐𝒓𝒎𝒂𝒕𝒊𝒐𝒏()->𝒄𝒊𝒕𝒚()->𝒏𝒂𝒎𝒆

به کد بالا 𝐓𝐫𝐚𝐢𝐧 𝐖𝐫𝐞𝐜𝐤𝐬 گفته میشه باید از این قطار اجتناب کرد میشه کد بالا رو بصورت زیر نوشت :

𝘐𝘯𝘧𝘰𝘳𝘮𝘢𝘵𝘪𝘰𝘯 $𝘶𝘴𝘦𝘳𝘐𝘯𝘧𝘰𝘳𝘮𝘢𝘵𝘪𝘰𝘯 = $𝘶𝘴𝘦𝘳->𝘪𝘯𝘧𝘰𝘳𝘮𝘢𝘵𝘪𝘰𝘯() ;

𝘊𝘪𝘵𝘺 $𝘶𝘴𝘦𝘳𝘊𝘪𝘵𝘺 = $𝘶𝘴𝘦𝘳𝘐𝘯𝘧𝘰𝘳𝘮𝘢𝘵𝘪𝘰𝘯->𝘤𝘪𝘵𝘺() ;

𝘴𝘵𝘳𝘪𝘯𝘨 $𝘶𝘴𝘦𝘳𝘊𝘪𝘵𝘺𝘕𝘢𝘮𝘦 = $𝘶𝘴𝘦𝘳𝘊𝘪𝘵𝘺->𝘯𝘢𝘮𝘦 ;

خوب آیا کد بالا خوب هستش ؟نه 😁 این هم قانون الهه حاصلخیزی ما رو نقض میکنه نباید کاری کنیم که باعث انفجار متد بشه مثال زیر رو نگاه کنید :

$𝑢𝑠𝑒𝑟->𝑔𝑒𝑡𝐶𝑖𝑡𝑦𝑁𝑎𝑚𝑒𝐵𝑦𝐼𝑛𝑓𝑜𝑟𝑚𝑎𝑡𝑖𝑜𝑛() ;

بهتر هستش به صورت زیر نوشته بشه :

$𝑢𝑠𝑒𝑟->𝑔𝑒𝑡𝐶𝑖𝑡𝑦𝐵𝑦𝐼𝑛𝑓𝑜𝑟𝑚𝑎𝑡𝑖𝑜𝑛()->𝑛𝑎𝑚𝑒 ;

0| از0رای

مطالب مشابه


0 دیدگاهافزودن