Друкарня від 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 є чудовим принципом, і світ був би кращий, якби виходило його частіше застосовувати. Головне не переплутати з надмірним спрощенням :)


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

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

  • Вітаємо з Різдвом Христовим!

    Друкарня та платформа WE.UA вітають всіх наших читачів та авторів зі світлим святом Різдва! Зичимо всім українцям довгожданого миру, міцного здоровʼя, злагоди, родинного затишку та втілення всього доброго і прекрасного, чого вам побажали колядники!

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

    Різдво
  • Каблучки – прикраси, які варто купувати

    Ювелірні вироби – це не тільки спосіб витратити гроші, але і зробити вигідні інвестиції. Бо вартість ювелірних виробів з кожним роком тільки зростає. Тому купуючи стильні прикраси, ви вигідно вкладаєте кошти.

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

    Як Вибрати Каблучку
  • П'ять помилок у виборі домашнього текстилю, які псують комфорт сну

    Навіть ідеальний матрац не компенсує дискомфорт, якщо текстиль підібрано неправильно. Постільна білизна безпосередньо впливає на терморегуляцію, стан шкіри та глибину сну. Більшість проблем виникає не через низьку якість виробів, а через вибір матеріалів та подальшу експлуатацію

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

    Домашній Текстиль
  • Як знайти житло в Києві

    Переїжджаєте до Києва і шукаєте житло? Дізнайтеся, як орендувати чи купити квартиру, перевірити власника та знайти варіанти, про які зазвичай не говорять.

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

    Агентство Нерухомості
  • Як заохотити дитину до читання?

    Як залучити до читання сучасну молодь - поради та факти. Користь читання для дітей - основні переваги. Розвиток дітей - це наше майбутнє.

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

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

Unity Programmer

95Прочитань
0Автори
4Читачі
На Друкарні з 17 жовтня

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

Коментарі (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);

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