سجاد عبداللهی
سجاد عبداللهی
خواندن ۲ دقیقه·۱ سال پیش

اهمیت طراحی خوب در برنامه نویسی و اصل ETC


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

بیاین ابتدا به یه موضوع مهم بپردازیم: هدف از داشتن یه طراحی خوب چیست؟ بنظر من طراحی خوب چیزی هست که راحت بشه تغییرش داد و در برابر نیاز‌های مختلف کسب و کار انعطاف پذیر باشه.

"طراحی خوب رو راحت تر از طراحی بد میشه تغییر داد"

Good Design Is Easier to Change Than Bad Design

طراحی خوب چیزی هست که بتونه با نیازهای افرادی که ازش استفاده میکنن کنار بیاد، توی کد نویسی به این معنیه که بتونه خودش را تغییرات وفق بده چون کدی که مینویسیم در حقیقت تغییریه که توی اون نرم‌افزار انجام میدیم.

تقریبا هر اصل راجب طراحی نرم‌افزار برمیگرده به این اصل ساده

  • چرا اصل Single responsibility یا تک مسئولیتی رو رعایت میکنیم؟ چون میخوایم چیزی که تغییر دادیم توی بقیه ماژول‌ها هم تغییر کنه
  • چرا اسم گذاری مهمه؟ چون اسم‌های خوب کمک میکنن راحت تر کد رو بخونیم و در نتیجه راحت‌تر تغییرش بدیم

اصل ETC: یک ارزش نه یک قانون

قوانین به ما میگن دقیقاً چه کاری انجام بدیم، ولی ارزش‌ها به ما کمک می‌کنند تصمیم ها رو خودمون بگیریم. اصل ETC یک ارزش هست تا وقتی بین دو راهی گیر کردین توانایی انتخاب داشته باشین. این اصل رو باید گوشه ذهنتون بزارین تا بعداً موقع تصمیم‌گیری ها به کمکتون بیاد.

چطوری ازش استفاده کنیم؟

برای استفاده از این اصل میتونید شروع کنید به پرسیدن سوال از خودتون درباره پروژه فعلی یا پروژه‌های قبلی که داشتین، مثلا: "آیا کاری که انجام دادم سیستم رو برای تغییر ساده‌تر کرد یا نه؟" یا "آیا تغییری که دادم باعث شد بعدا تغییر سیستم پیچیده‌تر بشه؟".

این کار باعث میشه اصل ETC وارد ضمیر خود‌آگاهتون بشه و موقع گرفتن تصمیمات به کمکتون میاد.

این مطلب برداشت من بود از تاپیک ۸ کتاب "The Pragmatic Programmer, 2nd Edition"

طراحیبرنامه نویسیsolidطراحی سیستممعماری
علاقه‌مند به برنامه نویسی و ساختن چیزای جدید | سایت شخصی من رو میتونید از اینجا چک کنید:‌https://julywitch.github.io
شاید از این پست‌ها خوشتان بیاید