Механический человек решает вскрыть собственную черепную коробку и обнаруживает, что работает на воздухе, что его сознание — процесс, согласованная работа клапанов в трубках, по которым течёт воздух, и что из-за снижения давления в местной атмосфере жизнедеятельность механических людей замедляется.
Можно и нужно!
Другое дело, что Дик в большинстве своём — это не хард фантастика ни разу. Взять тот же "Убик" или "Три стигмата Палмера Элдрича" — там даже нельзя утверждать, что события происходят в объективной реальности, о каких заклёпках вообще может идти речь.
Я вот честно говоря этого вообще не понимаю. Если можно те же нейросети настроить на распознавание картинок, чтобы они утверждали "это на 50% голубь, на 50% лев", то что мешает нейросетям, распознающим "нарушения правил" выводить результат в виде "на 50% нарушены правила хранения персональной информации, на 50% вы содрали всё у X — на основании чего мы блокируем ваше приложение"?
Добавлю деталей, чтобы пояснить на примере. Модуль слушает клавиатуру и в зависимости от нажатых клавиш формирует пакет с командами. Было реализовано с возможностью расширения вширь (если пакет станет больше или изменится его структура) и с возможностью динамической подмены биндингов (то бишь, чтобы те же команды отправлялись с других клавиш). И вот это было реализован через ж кучу отдельных списков, каждый из которых отвечал строго за свою функцию (список с используемыми кнопками, список с названиями команд, мапа с соответствием между командами и индексом числа в пакете...). Любой из этих списков можно было подменять в отдельности просто подставив новый, но этот новый нужно было проверить на соответствие по длине всем остальным спискам. После подстановок эти списки динамически превращались в одну волшебную мапу, с помощью которой конечная функция "нажми на кнопку — получишь результат" выглядела достаточно просто.
Ревью этот подход прошёл, но быстро выяснилось, что надо добавить формирование ещё одного аналогичного пакета там же, внося изменения в списки и вручную следя за тем, чтобы всё всему соответствовало. Было сложно, блин, изменить значения по умолчанию. Приняли решение выпилить кучу этих списков из внутренностей, оставив две явно задаваемые волшебные мапы, пусть и усложнив процесс подмены.
Можно было бы сформулировать, но исторически закрепилось такое название, никто не против.
А ещё, если заявлять читабельность как непосредственную цель, то возникает вопрос, а что считать объективной, вычисляемой метрикой читабельности? Количество применяемых сущностей/методов на 100 условных строк модуля, глубина стека вызовов умноженная на разбросанность вызываемых методов по модулю, "плотность кода", что бы это ни значило, или количество людей, которые согласны, что стало лучше?
А так написал "отрефакторить" и можно действовать на своё усмотрение. Сел, подумал и переписал всё с нуля, затронув несколько смежных модулей. Или наоборот, только пару строчек подправил, чтобы более идеоматически смотрелось.
Буквально на днях решал таск на "просто рефакторинг" одного модуля на питоне. Функциональность и апи в результате никак не изменились, но в целом стало гораздо читабельнее. "Просто рефакторинг" у нас нужен, когда какая-то задача была решена, но спустя пару дней ты сам не можешь понять что к чему. А хорошая читабельность кода, соответственно, ведёт к лучшей поддержке и возможности дальнейшего расширения.
Ну и да, разные люди считают, что их подход единственный наиболее правильный. Но даже один и тот же подход можно выразить так, что это будет эстетично и понятно, или так, что ногу сломать можно.
Вместо него будет новое, импортозамещённое число ъ, точное значение которого (как и степень соответствия со старым π) можно будет посмотреть только в специальном Реестре Вычислительных Констант, только при наличии специального разрешения, выдающегося на срок до 12 месяцев, только специально выделенными конторами...
Где-то с год назад обнаруживал и запрещал пользоваться большинством функций. С какого-то момента перестал страдать фигнёй блокировать функционал, зато стал проходиться по телефону антивирусом в обязательном порядке безо всяких запросов и предупреждений.
Если уж вкапываться аж в шестой век, надо учесть, что с тех времён от "идеальных" гармоничных консонансов давно отказались в пользу равномерно темперированного строя. Не говоря уже о том, что особенно в XX веке диссонансы в музыке очень активно используются.
Если уж использовать сравнения, то консонансы сродни дизайну 90х, когда использовались палитры на 16..256...N цветов. И что-то не похоже, что к этому хотели бы вернуться.
На выходных активно пользовался приложением и в голову пришёл следующий фич-реквест:
возможность уведомлений о конкретных электричках за 5/10/20/N минут до ожидаемого прибытия. Пользуюсь электричками нерегулярно, поэтому наизусть расписание не помню; ночью, когда электрички ходят сравнительно редко, приходится постоянно подглядывать в расписание, чтобы не забыть когда там придёт выбранная подходящая электричка. Получать подобное уведомление минут за 15 (то бишь, когда пора выходить из дома) было бы очень удобно.
Как правильнее реализовывать не вполне представляю, потому что сообщать обо всех электричках по заданному направлению не целесообразно, придётся постоянно включать/отключать. Или цепляться за конкретные и делать одноразовую напоминалку, или указывать период времени и делать напоминания периодическими, как это сделано для изменений.
Хм. Да, не только для сбера, но замечал такое только для платежей в пределах 1000р.
Просто оставлю это здесь.
Тед Чан, "Выдох"
Механический человек решает вскрыть собственную черепную коробку и обнаруживает, что работает на воздухе, что его сознание — процесс, согласованная работа клапанов в трубках, по которым течёт воздух, и что из-за снижения давления в местной атмосфере жизнедеятельность механических людей замедляется.
За то, что у Вас Begin с большой буквы, а end с маленькой.
Можно и нужно!
Другое дело, что Дик в большинстве своём — это не хард фантастика ни разу. Взять тот же "Убик" или "Три стигмата Палмера Элдрича" — там даже нельзя утверждать, что события происходят в объективной реальности, о каких заклёпках вообще может идти речь.
То ли дело Грег Иган
Я вот честно говоря этого вообще не понимаю. Если можно те же нейросети настроить на распознавание картинок, чтобы они утверждали "это на 50% голубь, на 50% лев", то что мешает нейросетям, распознающим "нарушения правил" выводить результат в виде "на 50% нарушены правила хранения персональной информации, на 50% вы содрали всё у X — на основании чего мы блокируем ваше приложение"?
Даёшь энциклонгов!
Как ни странно, да.
Добавлю деталей, чтобы пояснить на примере. Модуль слушает клавиатуру и в зависимости от нажатых клавиш формирует пакет с командами. Было реализовано с возможностью расширения вширь (если пакет станет больше или изменится его структура) и с возможностью динамической подмены биндингов (то бишь, чтобы те же команды отправлялись с других клавиш). И вот это было реализован через
жкучу отдельных списков, каждый из которых отвечал строго за свою функцию (список с используемыми кнопками, список с названиями команд, мапа с соответствием между командами и индексом числа в пакете...). Любой из этих списков можно было подменять в отдельности просто подставив новый, но этот новый нужно было проверить на соответствие по длине всем остальным спискам. После подстановок эти списки динамически превращались в одну волшебную мапу, с помощью которой конечная функция "нажми на кнопку — получишь результат" выглядела достаточно просто.Ревью этот подход прошёл, но быстро выяснилось, что надо добавить формирование ещё одного аналогичного пакета там же, внося изменения в списки и вручную следя за тем, чтобы всё всему соответствовало. Было сложно, блин, изменить значения по умолчанию. Приняли решение выпилить кучу этих списков из внутренностей, оставив две явно задаваемые волшебные мапы, пусть и усложнив процесс подмены.
Можно было бы сформулировать, но исторически закрепилось такое название, никто не против.
А ещё, если заявлять читабельность как непосредственную цель, то возникает вопрос, а что считать объективной, вычисляемой метрикой читабельности? Количество применяемых сущностей/методов на 100 условных строк модуля, глубина стека вызовов умноженная на разбросанность вызываемых методов по модулю, "плотность кода", что бы это ни значило, или количество людей, которые согласны, что стало лучше?
А так написал "отрефакторить" и можно действовать на своё усмотрение. Сел, подумал и переписал всё с нуля, затронув несколько смежных модулей. Или наоборот, только пару строчек подправил, чтобы более идеоматически смотрелось.
Буквально на днях решал таск на "просто рефакторинг" одного модуля на питоне. Функциональность и апи в результате никак не изменились, но в целом стало гораздо читабельнее. "Просто рефакторинг" у нас нужен, когда какая-то задача была решена, но спустя пару дней ты сам не можешь понять что к чему. А хорошая читабельность кода, соответственно, ведёт к лучшей поддержке и возможности дальнейшего расширения.
Ну и да, разные люди считают, что их подход
единственныйнаиболее правильный. Но даже один и тот же подход можно выразить так, что это будет эстетично и понятно, или так, что ногу сломать можно.Это уже было в
СимпсонахВ своё время на лекциях по электромеханике нам рассказывали и показывали на формулах версию этого анекдота про cos(φ).
Какой ужас! Надо вообще заблокировать число π!
Вместо него будет новое, импортозамещённое число ъ, точное значение которого (как и степень соответствия со старым π) можно будет посмотреть только в специальном Реестре Вычислительных Констант, только при наличии специального разрешения, выдающегося на срок до 12 месяцев, только специально выделенными конторами...
Если отображать причину в анонимном формате, такая обратная связь будет идеальной. Не будешь знать кто минусанул, но хотя бы узнаешь почему.
Война — это мир
Свобода — рабство
Незнание — сила
Где-то с год назад обнаруживал и запрещал пользоваться большинством функций. С какого-то момента перестал
страдать фигнёйблокировать функционал, зато стал проходиться по телефону антивирусом в обязательном порядке безо всяких запросов и предупреждений.А ещё интереснее предсказывать что нужно изменить, чтобы фильм получился лучше.
Ну и как бы да, накидать всех звёзд в одну кучу ещё не значит "сделать хороший фильм".
Почему негласных? Вполне себе входит в официальное положение на правах одного из пунктов, например.
Если уж вкапываться аж в шестой век, надо учесть, что с тех времён от "идеальных" гармоничных консонансов давно отказались в пользу равномерно темперированного строя. Не говоря уже о том, что особенно в XX веке диссонансы в музыке очень активно используются.
Если уж использовать сравнения, то консонансы сродни дизайну 90х, когда использовались палитры на 16..256...N цветов. И что-то не похоже, что к этому хотели бы вернуться.
А раньше сбор средств в терминале был куда более приемлемым.
На выходных активно пользовался приложением и в голову пришёл следующий фич-реквест:
возможность уведомлений о конкретных электричках за 5/10/20/N минут до ожидаемого прибытия. Пользуюсь электричками нерегулярно, поэтому наизусть расписание не помню; ночью, когда электрички ходят сравнительно редко, приходится постоянно подглядывать в расписание, чтобы не забыть когда там придёт выбранная подходящая электричка. Получать подобное уведомление минут за 15 (то бишь, когда пора выходить из дома) было бы очень удобно.
Как правильнее реализовывать не вполне представляю, потому что сообщать обо всех электричках по заданному направлению не целесообразно, придётся постоянно включать/отключать. Или цепляться за конкретные и делать одноразовую напоминалку, или указывать период времени и делать напоминания периодическими, как это сделано для изменений.