Хм, имя класса — набор ненужных символов? Ну ладно. А откуда в мозгу берётся контекст? Чтобы контекст сформировался, нужно опять же читать окружающий код, разве нет?
Да, код не идеален, а рефакторинг частенько дальше мыслей не уходит. И если можно сделать код чуть более читаемым, почему бы этого не сделать? Лень набирать имя класса? Хорошо, наберите var, потом Alt+Enter->Specify type explicitly и решарпер сделает всё за Вас.
Вот-вот, в мышке всё и дело. А код должен читаться как песня, одним лишь текстом, без мышки, без перехода внутрь методов). Должен читаться даже если его просто распечатать на бумаге. Фанаты функциональных языков называют это «предсказуемостью». Я сам долго ломался, но стОит только попробовать и разница становится очевидной.
Зачем же возводить всё в абсолют — быдлокод/не_быдлокод. Реальный проект обычно где-то по серединке, невозможно всё сделать академически правильно. И в имя переменной/метода не всегда удаётся вместить всю информацию, необходимую для понимания.
Насчет var — дело привычки. Обычно отторжение такой синтаксис вызывает только у тех кто долгое время писал на С/С++, со временем привыкают. Читаемость это нисколько не ухудшает если код написан нормально.
У меня было наоборот. Стал использовать var повсеместно сразу после его появления. И так было долгие годы пока коллега не открыл мне глаза) Читаемость ухудшает, это факт. Особенно если читаете чужой код. Или свой, но старый.
Похоже я один не понимаю, откуда вся эта шумиха вокруг iot. Зачем чайнику, шнуркам и пылесосу выход в интернет? Выглядит как очередной тренд, подхваченный корпорациями в страхе отстать от конкурентов. Думал тут увидеть объяснение, а нет, удобство «подключенного мира» опять выдаётся за аксиому, без всяких обоснований и доказательств
Со временем потребители будут воспринимать удобства Интернета вещей как должное...
Проблема не в микросервисах и не в повторном использовании, просто в ноде нет качественной стандартной библиотеки. Нет скелета, который мог бы обрастать сторонними модулями. Была в начале года такая резонансная статья https://medium.com/@wob/the-sad-state-of-web-development-1603a861d29f, автор мог бы сейчас сказать "а я вас предупреждал"
А мне первый вариант больше понравился — в нём чётко видно, что происходит «заполнение», слева направо. Второй вариант больше похож на просто красивую анимацию, а не прогресс-бар. Особенно смущает финальная стадия, когда описывается маленький круг и некоторое время движение происходит в обратную сторону (справа налево).
Когда я отправлял сообщение, в базе сохранилось серверное UTC-время. И при любых манипуляциях с настройками устройства и смене поясов я увижу то же самое время конвертированное к моей текущей локали. На моём телефоне сейчас 14:24 и, если я отправил сообщение час назад, то я увижу 13:24, независимо от того, с какого пояса я отправлял.
но какие есть альтернативы? Обычное присваивание даст нам те же 20 строк и «спрячет» от нас то, что мы работаем с observable-объектом, а не с обычным свойством.
Как Вы тестируете код на кроссбраузерность? У меня в аналогичном проекте проблема: хочу чтобы оно работало во всех основных браузерах, но не хочу руками тестировать этот момент — как-то оно дорого по трудозатратам.
Да, у нас та же проблема. Мы используем jsTestDriver, TravisCi запускает нам тесты после каждого комита, но они прогоняются только в headless safari. Тоже хотелось бы автоматом запускать, если уж не на всех, то хотя бы на нескольких основных браузерах. Но пока не получается.
да есть (если забыть про кросс-браузерность), но firstName в данном случае — это не просто переменная, это объект и у него кроме getValue/setValue есть и другие методы. Поэтому и работать с ним нужно именно как с объектом.
Да, фич не много, но ведь и не было задачи повторить angular по навороченности. Скорее наоборот — JohnSmith предоставляет некий минимум, который вполне достаточен для построения рабочего приложения.
js просто содержит алиасы для доступа к функциям библиотеки, что именно с ним не так?
У меня было наоборот. Стал использовать var повсеместно сразу после его появления. И так было долгие годы пока коллега не открыл мне глаза) Читаемость ухудшает, это факт. Особенно если читаете чужой код. Или свой, но старый.
Нет, это комментарий переводчика. А на что является пародией оригинальный пост — не понятно. Видимо с Go как-то связано, хотя смущает эта DynamoDB))
но какие есть альтернативы? Обычное присваивание даст нам те же 20 строк и «спрячет» от нас то, что мы работаем с observable-объектом, а не с обычным свойством.
Да, у нас та же проблема. Мы используем jsTestDriver, TravisCi запускает нам тесты после каждого комита, но они прогоняются только в headless safari. Тоже хотелось бы автоматом запускать, если уж не на всех, то хотя бы на нескольких основных браузерах. Но пока не получается.
js
просто содержит алиасы для доступа к функциям библиотеки, что именно с ним не так?«Описываем разметку» не означает, что она должна быть обязательно текстом вставлена в js. Можно использовать jQuery-селектор:
и, соответственно, в html:
на самом деле todomvc уже в процессе