@foonfyrick

Как понять, что в коде, при рефакторинге, код лучше заменить на лямбду, inline, дженерик?

Как понять, что при рефакторинге я должен код заменить на лямбду? Какую проблему она решает?
Как понять, что при рефакторинге лучше использовать inline функцию? Какую проблему она решает?
Как понять, что при рефакторинге лучше использовать дженерик? Какую проблему он решает?
  • Вопрос задан
  • 50 просмотров
Решения вопроса 1
DollyPapper
@DollyPapper
Вопрос не имеет смысла. Вы смешали в кучу 3 разных инструмента в языке, и спрашиваете когда один из них использовать в приоритете над другим. В каком случае молоток упростит постройку дома? Очевидно в случае когда нужно будет гвоздь забить. Когда дженерик упростит код? Когда нужно например обобщить метод. Допустим метод сортировки. Можно написать n разных методов которые будут сортировать массив, который содержит определенный тип данных. Например сегодня нам нужно сортировать массив строк. Мы пишем массив который на входе принимает тип данных String. А завтра нам нужно сортировать массив целых чисел. И мы снова пишем метод который сортирует числа. По факту это два одинаковых метода которые будут различаться лишь принимаемым типом данных, а это дублирование кода, что не есть хорошо. А можно использоваться дженерик и вместо 10 методов написать один, который принимает тип T, то есть дженерик. И тогда у нас вместо 10 методов будет один универсальный. Код сразу станет яснее, потому что его будет меньше. Вот и упрощение. Когда лямбда упростит код? Например при передачи колбек функции в метод, чтобы не писать отдельный метод который будет делать единоразово какую-то работу и больше нигде не будет использоваться, мы можем с помощью анонимной функции (она же лямбда) написать этот код по месту. Что такое inline функции к сожалению не знаю, с котлином не знаком, по этому по поводу того где они могут помочь не могу сказать.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы