за пару вопросов?
1. Property vs. Function - в доке сказано, что функцию можно заменить на свойство, если функция не выбрасывает Exception, имеет константную сложность и идемпотентно. Идиоматически ли тогда будет заменить функцию, допустим getSize() на свойство size, если оно не будет "returns the same result over invocations"? Или я сильно строго воспринял рекомендации? (Понимаю, вопрос уровня табы vs. пробелы, но все же хотелось бы узнать, как стоит писать правильно с точки зрения Kotlin).
2. Нигде не заметил в документации уточнений оптимизируются ли цепочки high-order функций при компиляции. Т.е. если вызывать list.filter { it > 10 }.map { element -> element * 2 } сколько раз будет выполнен полный проход по списку? Подозреваю, что один, но хотелось бы пруфов из доки/книг/выступлений/etc.
Я бы так сказал: свойство — это данные, функция — поведение.
Обсуждают сегодня