Я начал играть с Kotlin, но я чувствую свои собственные ограничения в том, как я программирую. Моя проблема в том, что я все еще думаю о Java, поэтому стиль по-прежнему императивен, мой вопрос ко всем фанатикам функционального программирования, который, я считаю, будет очень полезен для всех людей, которые на самом начальном этапе, а также должны «тормозить» свой мозг, чтобы начать строить его снова; выйти из зоны комфорта и начать мыслить псевдо, а не на «своем родном языке». Я считаю, что опытные разработчики-полиглоты могут разжевать концепции до простых советов о том, что делает вашу программу полностью функциональной, а что нарушает парадигму. Я не знаю всех особенностей, но, пожалуйста, не стесняйтесь включать общепринятые термины, которые могут быть мне неизвестны (я всегда могу найти). На данный момент мне нужен этот набор правил, чтобы сначала заставить себя страдать и не нарушать их, но потом я знаю, что почувствую это, проанализирую правила и пойму, чем они хуже/лучше, что, конечно, является моей домашней работой.
Таким образом, пример этих рекомендаций будет выглядеть примерно так:
- Никогда не меняйте состояние, этого можно избежать, используя x, y, z
- Работайте, используя только функции высшего порядка (возможно, я ошибаюсь, просто пример)
Я надеюсь, что ответ даст мне долгосрочную ссылку на то, чтобы поставить себя в экстремальные условия, когда я перестану убегать в ООП всякий раз, когда чувствую себя некомфортно. И теперь, когда я смотрю на Kotlin, я понимаю, как я должен был думать о проблемах, о намерении, а не о структуре, навязанной тем или иным языком. Намерение всегда можно преобразовать в язык по вашему выбору и подкрепить шаблонами проектирования, применимыми к языку, но чтобы найти золотую середину, мне нужно сначала выйти из зоны комфорта.