Привет!
По времени опубликовал пост о функциях-мошенниках. Сейчас мне эта терминология уже совсем не нравится, но я сильно долго мурыжу этот пост так что пока пусть будет так. Ну и надеюсь суть мне удалось описать.
И в эрго-постах сейчас будет некоторый перерыв. Во-первых, что-то мне стало совсем стыдно за "лого" этого канала - попробую хотя бы в векторе его перерисовать, во-вторых мне надо руками переделывать форматирование в телеграфе - поищу блог-платформу поддерживающую asciidoc, в-третьих, следующий пост будет заключительный в этом цикле и там надо будет уже утрясти терминологию наконец
#posts@ergonomic_code #fp@ergonomic_code #why_no_side_effects@ergonomic_code
По времени опубликовал пост о функциях-мошенниках. Сейчас мне эта терминология уже совсем не нравится, но я сильно долго мурыжу этот пост так что пока пусть будет так. Ну и надеюсь суть мне удалось описать.
И в эрго-постах сейчас будет некоторый перерыв. Во-первых, что-то мне стало совсем стыдно за "лого" этого канала - попробую хотя бы в векторе его перерисовать, во-вторых мне надо руками переделывать форматирование в телеграфе - поищу блог-платформу поддерживающую asciidoc, в-третьих, следующий пост будет заключительный в этом цикле и там надо будет уже утрясти терминологию наконец
#posts@ergonomic_code #fp@ergonomic_code #why_no_side_effects@ergonomic_code
Telegraph
Типы функций: функции-мошенники
Блог переехал на мой сайт Пост для канала "эргономичный код"Начало здесь, здесь и здесь.С второго взгляда терминология оказалась не такой уж чудесной, как показалась на первый взгляд, но я на этом посте засиделся, так что публикую как есть. В посте с итогами…
Привет!
Небольшая статейка о вреде временнОй связности и побочных эффектов: https://proandroiddev.com/stop-crafting-your-time-bomb-39f2d26987e0
Единственное что, я бы часть про Элегантные Объекты пропустил - уважаю Бугаенко за его продуктивность, принципиальность и масштабность, но работать с кодом в его стиле я бы не хотел:)
#posts@ergonomic_code #why_no_side_effects@ergonomic_code
Небольшая статейка о вреде временнОй связности и побочных эффектов: https://proandroiddev.com/stop-crafting-your-time-bomb-39f2d26987e0
Единственное что, я бы часть про Элегантные Объекты пропустил - уважаю Бугаенко за его продуктивность, принципиальность и масштабность, но работать с кодом в его стиле я бы не хотел:)
#posts@ergonomic_code #why_no_side_effects@ergonomic_code
Medium
Stop Crafting Your “Time Bomb”
A horrible design pattern we should get rid of. Period.
По мотивам всё той же хроники архитектуры, перелистывал книгу по DDD Эванса и наткнулся на чистые функции прямо в оглавлении: SIDE-EFFECT-FREE FUNCTIONS.
С рекомендацией:
Place as much of the logic of the program as possible into functions, operations that return results with no observable side effects
Всё, расходимся - вдумчиво читайте ДДД и будет вам счастье.
На самом деле нет😊 Мне всё ещё кажется, что мне есть что добавить к классикам - у меня есть свой взгляд на методику проектирования и я предлагаю более легковесный процесс и архитектуру.
#ddd@ergonomic_code #why_no_side_effects@ergonomic_code #whyfp@ergonomic_code
С рекомендацией:
Place as much of the logic of the program as possible into functions, operations that return results with no observable side effects
Всё, расходимся - вдумчиво читайте ДДД и будет вам счастье.
На самом деле нет😊 Мне всё ещё кажется, что мне есть что добавить к классикам - у меня есть свой взгляд на методику проектирования и я предлагаю более легковесный процесс и архитектуру.
#ddd@ergonomic_code #why_no_side_effects@ergonomic_code #whyfp@ergonomic_code
И немного классиков вам в ленту
"The translation of a feeling (for example, disgust at side effects)..."
Beck, TDD by example, с. 30
P.S.
Перевод: "Перевод чувства (например, отвращения к побочным эффектам".
#books@ergonomic_code #why_no_side_effects@ergonomic_code
"The translation of a feeling (for example, disgust at side effects)..."
Beck, TDD by example, с. 30
P.S.
Перевод: "Перевод чувства (например, отвращения к побочным эффектам".
#books@ergonomic_code #why_no_side_effects@ergonomic_code