دو راه برای ساختن و #طراحی #نرمافزار وجود داره: یکی اینه که طراحی رو انقدر #ساده کنی که هیچ نقصی توش به وضوح نباشه(دیده نشه)، و دیگری اینه که انقدر پیچیدهاش کنی که نقصها به راحتی قابل تشخیص نباشند.” - C.A.R. Hoare
این جملهی C.A.R. Hoare واقعاً به یک معضل کلیدی در طراحی نرمافزار اشاره داره: #سادگی در مقابل #پیچیدگی . طراحیهای ساده به راحتی قابل درک و نگهداری هستند، در حالی که طراحیهای خیلی پیچیده میتونند نقصها رو پنهان کنند و مدیریتشون سخت بشه.
مزیتهاشم که میدونید من دیگه نگم
ولی یادمون باشه، سادگی در طراحی نرمافزار، بالاترین درجهی پیچیدگی و sophistication هست. 🤷🏻♂️🧐
حالا sophistication یعنی چی؟
داشتن ویژگیها و قابلیتهای پیشرفته و پیچیده، بدون اینکه کاربر احساس سردرگمی کنه 🎯
برای داشتنش نیاز دارید به ذوق و سلیقه و توانایی تحلیل و درک مسائل پیچیده
و بعدش نیاز دارید به قدرت حل مسئله
پس فکر نکنین ساختن سادگی، ساده اس! اتفاقا خیلی هم سخت و پیچیده اس!
پشت یه سری از سادگیهایی که میبینین کلی تجربه و مهارت وجود داره
مثل این نقاشیهایی که انگار خیلی ساده کشیده میشن ولی کار هرکسی نیست...
پ.ن. شما چطور مطمئن میشید که طراحیهاتون هم ساده اس و هم مؤثر؟