Сначала я подумал, что это ИИ-модель текст создала (или переводила?): на втором абзаце я уже стал забывать содержание первого абзаца - мне показалось, что "вода лилась рекой" :)
В общем я сдался и попросил ИИ-модель мне помочь - сделать "саммари":
Но возможно дело в моем восприятии "текстов про психологию"...или "писатель этого текста" сам не следует тем принципам, которые провозглашает - из "саммари" :)
"Когнитивная нагрузка: Сложный код утомляет. Чистый, читаемый код и продуманная архитектура снижают нагрузку."
>...я бы записал в одну строку, и для меня это был бы самый читаемый вариант.
Иногда изначальная "претензия" может быть связана вообще с наличием таких конструкций "последовательных вызовов функций": ведь помимо "читаемости" есть еще и практические соображения - например связанные с "отладкой".
Вот в другом обсуждении автору комментария накидали минусов, но потом добавили десяток своих по поднятой теме "отладки" - потому что "зависит от использованных функций"...а вдруг они не библиотечные, а свои и плохо отлажены :)
А насчет конкретно "пропущенного 'else'" :) - мне кажется это одна из причин почему "switch" выглядит лучше: стилистически однороден...хотя именно в этом случае и "switch" можно "с пропуском" написать :)
Спасибо автору-переводчику за перевод статьи и за возможность дискуссии здесь! В оригинальной ссылке нет форума, а дискуссия здесь - сама по себе уже добавленная ценность :)
П.С. Да, прошел по ссылке на оригинальную статью и тупо нажал "Translate" в браузере :) Извините - не удержался от наблюдения про "стилистические особенности перевода" человеком и машиной :( На примере одного предложения из статьи - оригинал:
For long function chains or callbacks that stack up, breaking up the chain into smaller groups and using a well-named variable or helper function can go a long way in reducing the cognitive load for readers.
"Человеческий" перевод здесь:
Если в коде есть длинные цепочки вызовов функций или вложенные колбэки, разбиение их на небольшие группы с использованием понятных имен переменных или вспомогательных функций значительно снижает когнитивную нагрузку на читателя.
"Машинный" перевод оригинала в браузере:
Для длинных цепочек функций или обратных вызовов, которые накладываются друг на друга, разбиение цепочки на более мелкие группы и использование хорошо названной переменной или вспомогательной функции может значительно снизить когнитивную нагрузку на читателей.
Ну, что сказать...именно для этой статьи - есть плюсы и минусы "машинного перевода" и "человеческого перевода" :)
Термины и русский слэнг терминов "человек-переводчик" знает лучше "машины": "callbacks" остался "колбэки", а не дословным (хотя и правильным) "обратных вызовов" :)
Но стилистически "машинный перевод" часто здесь более корректен и (для меня :) ближе к стилистически краткой, точной и выверенной манере "оригинального автора". Я именно про "стилистику", а не про "содержание":
- "For" корректно (и кратко!) переведено "машиной" как "Для", а не "Если в коде есть";
- "the chain" оба перевели коряво -> "машина" потеряла "определенный артикль" в просто "цепочки", а "человек" заставил вспоминать, что такое "их";
- "smaller groups" корректно переведено "машиной" как "сравнение" в "более мелкие группы", а не просто "небольшие группы";
- "well-named variable" понятно переведено "машиной" как "хорошо названной переменной" вместо расплывчатого "понятных имен переменных";
- "can go a long way in reducing" в "машинном" переводе по крайней мере не пропущен "модальный глагол" в "может значительно снизить", а не однозначно как "значительно снижает нагрузку";
- ну и стилистические "трюки", когда перечисление "and" становится "с" вместо просто "и", а множественное число "readers" превращается в единственного "читателя" мешает иногда восприятию.
Еще раз - это ни в коей мере не нарекание, а скорее предложение будущим "людям-переводчикам": не стесняйтесь использовать "машинный" перевод как (хорошего качества!) "рыбу" для дальнейшей правки и редактирования -> не уверен, что это сократит время работы над переводом :), но безусловно может помочь поднять качество самого перевода! Спасибо!
>Вот зачем ты пишешь, например, if/else, если у тебя внутри каждой бранчи return, и else можно просто не писать?)
Я прямо про самую первую "картинку" в статье - мне кажется вы противоречите "духу статьи" (?) :) => да, в статье оговорились, что это "вопрос предпочтений" и можно считать "паттерном", но это заставляет "мозг" вставлять "пропущенное слово" и выглядит как "сбивка в однородном синтаксисе": для одного варианта есть "слово", а для другого - нет, а ведь они вроде равноправны...или нет? :)
>Психология в разработке программного обеспечения
Сначала я подумал, что это ИИ-модель текст создала (или переводила?): на втором абзаце я уже стал забывать содержание первого абзаца - мне показалось, что "вода лилась рекой" :)
В общем я сдался и попросил ИИ-модель мне помочь - сделать "саммари":
https://g.co/gemini/share/c385eeffcb75
Лучше для меня не стало :)
Но возможно дело в моем восприятии "текстов про психологию"...или "писатель этого текста" сам не следует тем принципам, которые провозглашает - из "саммари" :)
"Когнитивная нагрузка: Сложный код утомляет. Чистый, читаемый код и продуманная архитектура снижают нагрузку."
>Почему... почему... почему?
Потому что "чтобы" здесь - союз: пишется вместе :)
>...я бы записал в одну строку, и для меня это был бы самый читаемый вариант.
Иногда изначальная "претензия" может быть связана вообще с наличием таких конструкций "последовательных вызовов функций": ведь помимо "читаемости" есть еще и практические соображения - например связанные с "отладкой".
Вот в другом обсуждении автору комментария накидали минусов, но потом добавили десяток своих по поднятой теме "отладки" - потому что "зависит от использованных функций"...а вдруг они не библиотечные, а свои и плохо отлажены :)
https://habr.com/ru/companies/reksoft/articles/892242/#comment_28060452
>...если программист знает как работает control-flow :)
Вот я именно об этом :(
В статье ("стыдливо" :) умолчали о возможной разнице в "классе" между "писателем кода" и "читателем кода" :)
Там ниже кстати уже упомянули об этом:
https://habr.com/ru/articles/893820/comments/#comment_28085634
"Паттерны" сильно зависят от опыта :(
П.С.
А насчет конкретно "пропущенного 'else'" :) - мне кажется это одна из причин почему "switch" выглядит лучше: стилистически однороден...хотя именно в этом случае и "switch" можно "с пропуском" написать :)
Спасибо автору-переводчику за перевод статьи и за возможность дискуссии здесь!
В оригинальной ссылке нет форума, а дискуссия здесь - сама по себе уже добавленная ценность :)
П.С.
Да, прошел по ссылке на оригинальную статью и тупо нажал "Translate" в браузере :)
Извините - не удержался от наблюдения про "стилистические особенности перевода" человеком и машиной :(
На примере одного предложения из статьи - оригинал:
"Человеческий" перевод здесь:
"Машинный" перевод оригинала в браузере:
Ну, что сказать...именно для этой статьи - есть плюсы и минусы "машинного перевода" и "человеческого перевода" :)
Термины и русский слэнг терминов "человек-переводчик" знает лучше "машины": "callbacks" остался "колбэки", а не дословным (хотя и правильным) "обратных вызовов" :)
Но стилистически "машинный перевод" часто здесь более корректен и (для меня :) ближе к стилистически краткой, точной и выверенной манере "оригинального автора".
Я именно про "стилистику", а не про "содержание":
Еще раз - это ни в коей мере не нарекание, а скорее предложение будущим "людям-переводчикам": не стесняйтесь использовать "машинный" перевод как (хорошего качества!) "рыбу" для дальнейшей правки и редактирования -> не уверен, что это сократит время работы над переводом :), но безусловно может помочь поднять качество самого перевода!
Спасибо!
>Вот зачем ты пишешь, например, if/else, если у тебя внутри каждой бранчи return, и else можно просто не писать?)
Я прямо про самую первую "картинку" в статье - мне кажется вы противоречите "духу статьи" (?) :) => да, в статье оговорились, что это "вопрос предпочтений" и можно считать "паттерном", но это заставляет "мозг" вставлять "пропущенное слово" и выглядит как "сбивка в однородном синтаксисе": для одного варианта есть "слово", а для другого - нет, а ведь они вроде равноправны...или нет? :)