Друкарня від WE.UA

Всім привіт! Я розпочинаю серію дописів на тему принципів та дизайн патернів у програмуванні. Мета цього, в першу чергу, особисто мені, засвоїти інформацію на кращому рівні.


Звідки взявся цей термін?

Вважається, що він був придуманий американським інженером Келлі Джонсоном. Використовуюється в армії США та сфері розробки ПЗ.

В чому суть?

KISS є абревіатурою для "Keep it simple, stupid", що перекладається як "Давай простіше, дурню". Зараз використовуюється багато різних варіації цього терміну по типу "keep it simple and straightforward", "keep it simple, silly", "keep it short and simple". Однак всі вони несуть у собі одну думку - рішення має бути настільки простим, як це можливо. Ні більше ні менше.

Not a KISS example!
Не KISS

А що значить це - "простіше"?

Деякі можуть подумати, що під цим поняттям мається на увазі банальний (легкий) код.
Попри це, він закликає до того, щоб уникати зайвої складності та використовувати лише ті техніки, які справді необхідні для досягнення поставленої мети.

Переваги

  • Зрозумілість: простий код легше читається як і самим розробником, так і колегами. Це сприяє покращенню співпраці.

  • Підтримка та масштабування: Простий код потребує менше часу та зусиль для підтримки. Його легше вдосконалювати та виправляти помилки.

KISS example
KISS

Приклад

C#

// Поганий підхід (не KISS)
public string CheckIfNumberIsEven(int number)
{
    if (number % 2 == 0)
    {
        return "Число парне";
    }
    else
    {
        return "Число непарне";
    }
}

// Кращий підхід (KISS)
public string CheckIfNumberIsEven(int number)
{
    return (number % 2 == 0) ? "Число парне" : "Число непарне";
}

Післямова

Вважаю, що KISS є чудовим принципом, і світ був би кращий, якби виходило його частіше застосовувати. Головне не переплутати з надмірним спрощенням :)


Дякую усім за увагу. Чекаю на відгуки!

Статті про вітчизняний бізнес та цікавих людей:

  • Шлейф сучасного смартфону та його призначення

    Шлейф - це тонка пластикова стрічка з ледь видимими доріжками і саме вона зʼєднує важливі компоненти мобільного, без яких він не запрацює. Власники пристроїв Xiaomi, які стикаються з потребою заміни цієї деталі, можуть підібрати відповідний варіант на сайті AKS.UA

    Теми цього довгочиту:

    Шлейф Для Мобільного
  • Чохли для iPhone 15: повний гід по кольорах, матеріалах і виробниках

    Перед тим як вибрати чохли для iPhone 15, варто визначитися, що саме ви хочете отримати від аксесуара. Комусь потрібен тонкий прозорий корпус, інший покупець шукає посилений захист, а для когось вирішальним стане колір або підтримка MagSafe

    Теми цього довгочиту:

    Чохли Для Iphone
  • Як побудована програма Meest China Academy

    Курс про товарний бізнес охоплює різні етапи роботи: від пошуку ідеї до перевірки товару, логістики та масштабування. Програма Meest China Academy містить 17 модулів, які послідовно розкривають ці теми без зведення всього навчання до однієї універсальної поради.

    Теми цього довгочиту:

    Meest
  • Які технології використані в Айфон 17

    Айфон 17 поєднує OLED-дисплей із частотою до 120 Гц, чип A19, дві камери Fusion 48 Мп і швидке заряджання через USB-C. У COMFY можна купити Айфон 17 з накопичувачем на 256 або 512 ГБ, вибравши конфігурацію відповідно до обсягу фото, відео та застосунків

    Теми цього довгочиту:

    Iphone 17
  • Як вибрати вживаний iPhone: коротке керівництво для розумної покупки

    Вторинний ринок смартфонів Apple активно зростає, і питання, як вибрати вживаний iPhone, стає актуальним для дедалі більшої кількості користувачів. Правильний підхід дозволяє отримати бу iPhone з актуальною iOS і доброю камерою за помітно нижчу ціну, ніж у нових пристроїв.

    Теми цього довгочиту:

    Iphone
Поділись своїми ідеями в новій публікації.
Ми чекаємо саме на твій довгочит!
Nar1nda
Nar1nda@nar1nda

Unity Programmer

1Довгочити
99Перегляди
4Підписники
На Друкарні з 17 жовтня 2023

Це також може зацікавити:

Коментарі (5)

Як на мене, приклад не по KISS;

Метод мав би називатись - isEven або isOdd;

І повертати true | false;

public bool IsEven(int number) { return (number % 2 == 0) }

Як це у API BigIntegerю.IsEven;

Заміна явних умовних операторів на тернарний - це не KISS, це про код стайл і (кому як зручніше).

При маленьких умовах дуже зручно говорити що тернарник класно читається, але якщо у вас умова із 3х парамертів то краще - IF;

приклад KISS

ПОГАНО

return (number % 2 == 0) ? true : false;

ПРАВИЛЬНО

return (number % 2 == 0);

Це також може зацікавити: