حسین دادخواه
حسین دادخواه
خواندن ۱ دقیقه·۴ روز پیش

سادگی و sophistication در طراحی نرم افزار

دو راه برای ساختن و #طراحی #نرم‌افزار وجود داره: یکی اینه که طراحی رو انقدر #ساده کنی که هیچ نقصی توش به وضوح نباشه(دیده نشه)، و دیگری اینه که انقدر پیچیده‌اش کنی که نقص‌ها به راحتی قابل تشخیص نباشند.” - C.A.R. Hoare

این جمله‌ی C.A.R. Hoare واقعاً به یک معضل کلیدی در طراحی نرم‌افزار اشاره داره: #سادگی در مقابل #پیچیدگی . طراحی‌های ساده به راحتی قابل درک و نگهداری هستند، در حالی که طراحی‌های خیلی پیچیده می‌تونند نقص‌ها رو پنهان کنند و مدیریت‌شون سخت بشه.
مزیت‌هاشم که میدونید من دیگه نگم

ولی یادمون باشه، سادگی در طراحی نرم‌افزار، بالاترین درجه‌ی پیچیدگی و sophistication هست. 🤷🏻‍♂️🧐

حالا sophistication یعنی چی؟
داشتن ویژگی‌ها و قابلیت‌های پیشرفته و پیچیده، بدون اینکه کاربر احساس سردرگمی کنه 🎯
برای داشتنش نیاز دارید به ذوق و سلیقه و توانایی تحلیل و درک مسائل پیچیده
و بعدش نیاز دارید به قدرت حل مسئله

پس فکر نکنین ساختن سادگی، ساده اس! اتفاقا خیلی هم سخت و پیچیده اس!

پشت یه سری از سادگی‌هایی که میبینین کلی تجربه و مهارت وجود داره
مثل این نقاشی‌هایی که انگار خیلی ساده کشیده میشن ولی کار هرکسی نیست...

https://aparat.com/v/ogxf611


پ.ن. شما چطور مطمئن می‌شید که طراحی‌هاتون هم ساده اس و هم مؤثر؟

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