Обновить
4
0
Андрей Курноскин@Radiosterne

Пользователь

Отправить сообщение

Полагаю, что это ответ мне, поэтому изложу свои мысли здесь.

Я считаю, что первая проблема этой статьи не в том, что она плохо написана или безынтересна, а в том, что она пропагандирует подход, который мне не кажется правильным.

Смотрите, я полагаю, что этот пост несёт некоторую педагогическую нагрузку, то есть призван обучить людей чему-то. Припоминая известную цитату, людей, по моему мнению, надо обучать ловле рыбы, а не давать им конкретную рыбу.

Так вот, предположим, что я начинающий .NET-девелопер. Я прочёл эту статью, и теперь знаю, как ExceptIterator сранивает объекты (Вам плюсик, умение читать исходный код фреймворка — полезная вещь).

Возникают вопросы:

1) Распространяются ли мои знания на код X.Where(xItem => Y.All(yItem => xItem != yItem)) ?
2) Правильно ли я понял, что лучший способ получить ответы на мои вопросы — пойти закопаться в код фреймворка?

Ваша статья не даёт ответ на первый вопрос (потому что Вы не исследуете общие моменты фреймворка, а рассматриваете исходник конкретного сценария), и даёт неявный положительный ответ на второй. Соответственно, я делаю вывод, что Вы начали учить язык и платформу не с понимания её внутренней логики, а с набрасывания кода в IDE и изучения исходников в случае возникновения проблем. Это гораздо лучше, чем учиться что-то писать по стековерфлоу, но хуже, чем учиться понимать логику (например, по документации).

Поэтому я считаю, что для начинающих разработчиков Ваша статья не полезна, а, наоборот, вредна.

Для остальных она, полагаю, не несёт новой информации.

Отдельно по поводу оформления: все картинки нечитаемы при увеличении.

Сократил эту статью до двух предложений:

Почему я ожидал, что A.Except(B) вернёт пустое множество, а вернулись элементы первой коллекции?

Потому что я не открыл MSDN, не выяснил смысл термина «ссылочный тип», и не знаю, как по умолчанию сравниваются объекты ссылочных типов.

Ну, это, конечно, хороший пример ситуации, в которой YAML лучше JSON. Однако, количество ситуаций, в которых JSON лучше YAML, имхо, значительно больше. Пресловутую Норвегию, кажется, исправили, но...

Разница между Arial и Segoe хорошо видна, если сравнить какое-нибудь полотно текста (не кода, не картинок) рядом:


вкусовщина


Справа воспринимаемая плотность текста на квадратный сантиметр пространства сильно выше, хотя размер текста по оси Y меньше стал крайне незначительно.


По поводу моноширинных шрифтов — персональное мнение человека, у которого Fira Code используется во всех IDE, но для заголовков на Хабре традиционно используется Fira — может, есть смысл для поддержания единства места, времени и действия стиля использовать Fira Code в качестве моноширинного?

И на стороне фронта всё работает как надо, отличный TTM :)

Ну вот, натестировался :) Кликнул в профиле в выпадающем списке «Whois — Приглашения — Заметки — Обнуление кармы» на пункт «Обнуление кармы».


Получаю в ответ сразу «Ваша заявка на обнуление принята» (уточняю — нажимал только на пункт выпадающего списка, никакой кнопки «я понимаю и хочу обнулиться» мне не было предложено):


Нажатие «Я передумал!» (Что мне обнулять-то, у меня и так 0)) приводит к 403:



Ай не хочу обнуляться...

Также при ховере на рейтинге комментария больше не отображается количество голосов «за» и «против» — с рейтингом статьи это всё ещё работает. Потерялось или осознанно отключено?

<sarcasm>
Несомненно, краеугольный вопрос в любом рефакторинге Хабра только один — используется ли в нём реактивный микро-модульный фреймворк $mol, а также мощный и лаконичный декларативный язык описания компонент view.tree :)
</sarcasm>


Если серьёзно, то вызывает вопросы отказ от использования гарнитуры Segoe UI в стилях текстов. На Win10 для рендеринга выбирается Arial, и он смотрится несколько, гм, тяжелее. Возможно, это мои проблемы с восприятием сглаживания шрифтов, но...

Не очень понятно, кого вы сейчас хотели показать профнепригодным — себя, если считаете, что fold/reduce есть удел «системных программистов», или своих разработчиков, которые по вашим словам не в состоянии понять этот псевдокод. Но кого-то точно хотели.

Существует ли техническая возможность типизировать отправленные сообщения TS-интерфейсами, или это надо костылить самостоятельно?

React как способ порождения View для .NET уже давно существует — https://reactjs.net/. Тот факт, что он не оформлен в виде ViewEngine ещё не мешает за 15 минут написать метод, возвращающий ActionResult, использующий для рендеринга только реакт.

Суть миксина примерно аналогична оборачиванию render в autorun, и даже документация mobx-react предлагает думать об этом именно в таком ключе :) Но да, ваша правда, как минимум там внутри Reaction для более тонкого управления вызовами.

Декоратор observer во-первых называется без s на конце, во-вторых находится в библиотеке mobx-react, а не mobx, и в-третьих применяется не к «классам», а к React-компонентам, оборачивая их метод render в autorun — который в свою очередь и является одной из стандартных утилит для подписки на изменение observable'ов в mobx.

Информация

В рейтинге
Не участвует
Откуда
Москва, Москва и Московская обл., Россия
Дата рождения
Зарегистрирован
Активность