طراحی یکی از جنبههای کلیدی و جذاب در دنیای فناوری و هنر است. دیگه همه جا میتونین مطالبی پیدا کنین راجب معماری و طراحی نرم افزار، اما توی این مطلب میخوام اصلی رو بگم که خیلی از از اصول دیگه از اون مشتق میشن.
بیاین ابتدا به یه موضوع مهم بپردازیم: هدف از داشتن یه طراحی خوب چیست؟ بنظر من طراحی خوب چیزی هست که راحت بشه تغییرش داد و در برابر نیازهای مختلف کسب و کار انعطاف پذیر باشه.
"طراحی خوب رو راحت تر از طراحی بد میشه تغییر داد"
Good Design Is Easier to Change Than Bad Design
طراحی خوب چیزی هست که بتونه با نیازهای افرادی که ازش استفاده میکنن کنار بیاد، توی کد نویسی به این معنیه که بتونه خودش را تغییرات وفق بده چون کدی که مینویسیم در حقیقت تغییریه که توی اون نرمافزار انجام میدیم.
تقریبا هر اصل راجب طراحی نرمافزار برمیگرده به این اصل ساده
اصل ETC: یک ارزش نه یک قانون
قوانین به ما میگن دقیقاً چه کاری انجام بدیم، ولی ارزشها به ما کمک میکنند تصمیم ها رو خودمون بگیریم. اصل ETC یک ارزش هست تا وقتی بین دو راهی گیر کردین توانایی انتخاب داشته باشین. این اصل رو باید گوشه ذهنتون بزارین تا بعداً موقع تصمیمگیری ها به کمکتون بیاد.
چطوری ازش استفاده کنیم؟
برای استفاده از این اصل میتونید شروع کنید به پرسیدن سوال از خودتون درباره پروژه فعلی یا پروژههای قبلی که داشتین، مثلا: "آیا کاری که انجام دادم سیستم رو برای تغییر سادهتر کرد یا نه؟" یا "آیا تغییری که دادم باعث شد بعدا تغییر سیستم پیچیدهتر بشه؟".
این کار باعث میشه اصل ETC وارد ضمیر خودآگاهتون بشه و موقع گرفتن تصمیمات به کمکتون میاد.
این مطلب برداشت من بود از تاپیک ۸ کتاب "The Pragmatic Programmer, 2nd Edition"