
«آن را کوتاه و ساده نگه دارید» و «آن را ساده و سرراست نگه دارید» احمق!!!
یک اصل طراحی است که توسط نیروی دریایی ایالات متحده در سال 1960 بکار گرفته شد.اصل KISS بیان میکند که اکثر سیستمها در صورتی بهترین کارکرد را دارند که به جای پیچیدهسازی، ساده نگه داشته شوند. بنابراین، سادگی باید یک هدف کلیدی در طراحی باشد و از پیچیدگی های غیر ضروری اجتناب شود.
سادگی بیشترین سطوح پذیرش و تعامل کاربر را تضمین می کند.
از مفاهیم علمی گرفته تا محصولات، کاربر نهایی اهمیتی نمیدهد که خالق یا طراح چیزی چقدر باهوش است. آنها به این اهمیت می دهند که بتوانند خروجی لازم را بگیرند و آن را برای زندگی و یا کار خودشان مفید کنند. هر چه توضیح ساده تر و محصول ساده تر باشد، احتمال اینکه خروجی برای دیگران مفید باشد بیشتر است.
لئوناردو داوینچی - "سادگی نهایت پیچیدگی است"
احتیاط هنگام استفاده از KISS در طراحی !!!
در حالی که سادگی یک هدف تحسین برانگیز است و می تواند منجر به بهبود تجربه کاربر شود، مهم است که اجازه ندهید سادگی در هدف طراحی تداخل پیدا کند. کاربر همچنان باید بتواند الزاماتی را در راستای تعامل و کار با محصولات نهایی انجام دهد، در غیر این صورت فرآیند طراحی شکست خورده است در اینجا دیگر مهم نیست طراحی نهایی چقدر ساده باشد.(زمانی باید از پیچیدگی استفاده کرد که ارزشمند باشد)
مهم است که کارها را آنقدر ساده نکنید که عملکرد طراحی نهایی را به خطر بیندازند.
اصل KISS آنقدر برای اصول طراحی مهم است که آمازون آن را به عنوان یک اصل اصلی رهبری فهرست می کند. به طور خاص، آمازون بیان می کند که "رهبران از تیم های خود انتظار و نیاز به نوآوری و اختراع دارند و همیشه راه هایی برای ساده سازی پیدا می کنند."
یکی از مشکلات رایج در میان مهندسان و توسعه دهندگان نرم افزار امروزه این است که آنها تمایل دارند مشکلات را بیش از حد پیچیده کنند.
معمولاً زمانی که یک توسعهدهنده با مشکلی مواجه میشود، آن را به قطعات کوچکتری تقسیم میکند که فکر میکنند آنها را میفهمد و سپس سعی میکند راهحل را در کد پیادهسازی کنند. من میتوانم بگویم که از هر 10 توسعهدهنده 8 یا 9 نفر این اشتباه را مرتکب میشوند که مشکل را به اندازه کافی کوچک یا به اندازه کافی قابل درک تقسیم نمیکنند. این منجر به پیاده سازی بسیار پیچیده می شود، یکی دیگر از عوارض جانبی، کد spagetthi است.
کد spagetthi : به سورس کدهایی گفته میشود که فاقد ساختار مناسب بوده و به علت پیچیدگی غیرضروری، فهم و نگه داری آن به امری دشوار تبدیل میشود. این درهم تنیدگی و پیچیدگی میتواند ناشی از عوامل مختلفی از جمله نبود قوانین و اصول مناسب برای برنامه نویسی و تجربه یا دانش ناکافی فرد برنامه نویس باشد.
چگونه می توانم اصل KISS را در کارم اعمال کنم ؟
چندین قدم برای برداشتن وجود دارد، بسیار ساده، اما ممکن است برای برخی چالش برانگیز باشد. به همان اندازه که ساده به نظر می رسد، ساده نگه داشتن آن یک مسئله است : صبر، بیشتر با خودتان.
متواضع باشید، خودتان را یک نابغه فوق العاده تصور نکنید، این اولین اشتباه شماست.
با متواضع بودن، در نهایت به موقعیت فوق العاده نابغه می رسید !!! و حتی اگر این کار را نکنید، چه کسی اهمیت می دهد! کد شما ساده است یا نه، بنابراین لازم نیست نابغه باشید تا با آن کار کنید( طوری که آدمهای دیگر هم بتوانند آن را براحتی بخوانند).
وظایف خود را به وظایف فرعی تقسیم کنید که فکر می کنید کدنویسی آنها بیش از 4 تا 12 ساعت طول نمی کشد
مشکلات خود را به بسیاری از مشکلات کوچک تقسیم کنید. هر مشکلی باید در یک یا چند کلاس قابل حل باشد
روش های خود را کوچک نگه دارید، هر روش هرگز نباید بیشتر از 30-40 خط باشد. هر روش فقط باید یک مشکل کوچک را حل کند.
کد باید بیزینس را براحتی نشان دهد تا انجام یک کار پیچیده و فنی
از دور انداختن کدها نترسید. Refactoring و Recoding دو حوزه بسیار مهم هستند. همانطور که با نیازهایی روبرو می شوید که وجود نداشتند، یا از زمانی که کد را برای شروع نوشتید آگاه نبودید، ممکن است بتوانید مشکلات قدیمی و جدید را با راه حلی بهتر حل کنید.
اصل KISS میتواند در بسیاری از حوزههای زندگی ما اعمال شود، نه فقط در ساخت محصولات فنی.
بیشتر بخوانید : اصول طراحی نرم افزار Software Design Principles