یکی: برنامهنویسی همش کپی پیسته!
برنامهنویس باهوش: آره اگه هنوز فانکشنا رو نخونده باشی!
امیدوارم هیچ کدومتون وقتی یه تیکه کد رو 20 جا کپی پیست میکنید به خودتون افتخار نکنید چون نه تنها دیگه کد شما تمیز نیست بلکه به دام Code Duplication افتادید. (حتی اگه 20 جا بشه 2 جا!)
حتما و قطعا در هر برنامهای که مینویسید جاهایی وجود داره که باید یه منطق یا استراکچر چند جا تکرار بشه، ممکنه یسری جزئیات فرق کنه ولی کلی که نگاه میکنی میبینی کد همون کده.
خب تو این شرایط برنامهنویس مبتدی میاد با خودش میگه چون فلان مقدار و فلان مقدار و... در جاهای مختلف باهم فرق دارن پس ارزششو نداره فانکشن/کامپوننت براش بزنم؛ به قول معروف میگه: وِلِلِش!
اما یه برنامهنویس حرفهای تمام زورشو میزنه (واقعا اینکارو میکنه 😅) تا از دلِ قسمت هایی که کپی-پیست کرده یه فانکشن/کامپوننت در بیاره تا هم خوانایی کد بره بالا و اگه یروزی خواست منطق کدشو تغییر بده نخواد از 20 جا عوضش کنه!
این دیدگاه باید هم در فرانت و هم بکاند پروژه وجود داشته باشه اما تو فرانتاند این کامپوننتها هستن که بیشترین مسئولیت رو به عهده دارن و وجود فریمورک هایی مثل React, Vue, Angular,… کار رو حتی راحتتر کردن؛ با این حال امکان افتادن به دام Code Duplication یا همون وِلِلِش خودمون بیشتره!
تنها راه حلی که میتونم بهتون بدم اینه که هــــــــــر وقـــــــــــت فکر کپی-پیست به سرتون زد ببینید میتونید بهجاش اونو تبدیل به کامپوننت کنید (تنبلی هم نکنین!) و اگه 1% هم فکر میکنید میشه، اینکارو انجام بدید. همچنین اگر از نرمافزار های JetBrains استفاده کنید میبینید هروقت داخل پروژتون duplicated code وجود داشته باشه بهتون اخطار میده و تا وقتی داخل یه فانکشن جاش نکنین وجدانتونو به درد میاره!
پ.ن. حتی اگه این کدِ کپی-پیست شده در قسمت های مختلف پروژه با هم متفاوت باشن (ولی به هر حال کپی شدهی همدیگن) در 90% مواقع این مشکل با پارامتر ها و متغیر ها حل میشن.
#CleanCode
Atena Dadkhah
برنامهنویس باهوش: آره اگه هنوز فانکشنا رو نخونده باشی!
امیدوارم هیچ کدومتون وقتی یه تیکه کد رو 20 جا کپی پیست میکنید به خودتون افتخار نکنید چون نه تنها دیگه کد شما تمیز نیست بلکه به دام Code Duplication افتادید. (حتی اگه 20 جا بشه 2 جا!)
حتما و قطعا در هر برنامهای که مینویسید جاهایی وجود داره که باید یه منطق یا استراکچر چند جا تکرار بشه، ممکنه یسری جزئیات فرق کنه ولی کلی که نگاه میکنی میبینی کد همون کده.
خب تو این شرایط برنامهنویس مبتدی میاد با خودش میگه چون فلان مقدار و فلان مقدار و... در جاهای مختلف باهم فرق دارن پس ارزششو نداره فانکشن/کامپوننت براش بزنم؛ به قول معروف میگه: وِلِلِش!
اما یه برنامهنویس حرفهای تمام زورشو میزنه (واقعا اینکارو میکنه 😅) تا از دلِ قسمت هایی که کپی-پیست کرده یه فانکشن/کامپوننت در بیاره تا هم خوانایی کد بره بالا و اگه یروزی خواست منطق کدشو تغییر بده نخواد از 20 جا عوضش کنه!
این دیدگاه باید هم در فرانت و هم بکاند پروژه وجود داشته باشه اما تو فرانتاند این کامپوننتها هستن که بیشترین مسئولیت رو به عهده دارن و وجود فریمورک هایی مثل React, Vue, Angular,… کار رو حتی راحتتر کردن؛ با این حال امکان افتادن به دام Code Duplication یا همون وِلِلِش خودمون بیشتره!
تنها راه حلی که میتونم بهتون بدم اینه که هــــــــــر وقـــــــــــت فکر کپی-پیست به سرتون زد ببینید میتونید بهجاش اونو تبدیل به کامپوننت کنید (تنبلی هم نکنین!) و اگه 1% هم فکر میکنید میشه، اینکارو انجام بدید. همچنین اگر از نرمافزار های JetBrains استفاده کنید میبینید هروقت داخل پروژتون duplicated code وجود داشته باشه بهتون اخطار میده و تا وقتی داخل یه فانکشن جاش نکنین وجدانتونو به درد میاره!
پ.ن. حتی اگه این کدِ کپی-پیست شده در قسمت های مختلف پروژه با هم متفاوت باشن (ولی به هر حال کپی شدهی همدیگن) در 90% مواقع این مشکل با پارامتر ها و متغیر ها حل میشن.
#CleanCode
Atena Dadkhah
👍6