Обновить
18
Евгений Петрянкин@evgeniyPP

Web-разработчик

22
Подписчики
Отправить сообщение

"Я знаю, что ничего не знаю"

​ Сократ

Синдром самозванца вызван парадоксом познания: "Чем больше ты знаешь, тем больше ты понимаешь, как много ты еще не знаешь".

Поэтому он особенно популярен у программистов. Ты просто забыл, как много тебе пришлось выучить, чтобы дойти до текущего уровня. Лучшее лечение – начать учить кого-нибудь с нуля.

Другая проблема – это то, что данной проблемой (которой страдают именно опытные работники) чересчур самоуверенные новички оправдывают свою некомпетентность.

Если точнее, то что-то типа:

"overrides": [
  {
    "files": [
      "*.js"
    ],
    "rules": {
      "no-debugger": "warn"
    }
  }
]

Добавьте в настройки ESLint в раздел "overrides" -> "rules": "no-debugger": "warn"

"Сын маминой подруги". Полностью дублирует интерфейс Axios и весит меньше вашей библиотеки.

`addItemToList` – это абстрактное понятие, которое включает в себя загрузку, оповещения, отправку на сервер, обновление данных и т.п.

А если серьезно, то документирование функций не поможет. Во втором варианте функции понятны, шаблон не понятен. В первом варианте непонятно, где вызывается функция. Как её задокументировать, чтобы было понятно, где она вызывается?

/**
 * Big red button on the left
**/
function addItem() {}

Название кнопки – не самый надежный источник информации. Там написано, что хочет видеть заказчик, что не всегда совпадает на 100% с логикой)

Другой вопрос называть функции а-ля `onAddItemClick`. Может, в этом что-то есть

Ну это крайность, конечно. `addItemToList` достаточно подробно.

В стиле old school, не "засорять" HTML логикой – это, конечно, тоже аргумент в пользу второго варианта. Но вот пока первый выигрывает у сообщества)

Ну под "истиной" я подразумевал подход, который решит обе проблемы: сделает читабельным и код, и шаблон

Тут это просто как общий пример. Подразумевается, что вы максимально точно указали, что делает эта кнопка.

Не решает поставленную проблему, так как как бы точно вы не описали, что делает функция, пока не откроете HTML, не узнаете, где эта функция вызывается.

Я параллельно с вами предложил этот вариант выше) Но, по сути, это тот же второй вариант "от кода к шаблону". Это внутренняя реализация второго варианта, она не имеет отношения к поставленной проблеме. HTML всё также нечитабелен.

Я не переживаю за критику, я ищу истину!) Может, она есть, может, нет, но попытаться стоит.

Это верно, только если вы за второй вариант, потому что чтение HTML это не упрощает.

Однако, я согласен с выводами. Более того, возможно, самый близкий к правильному такой вариант:

  1. Называть все функции, которые встречаются в шаблоне через handle*

  2. Внутри функции handle* не делать ничего, кроме как вызывать приватные функции.

То есть:

<button onclick="handleButtonClick()">Click</button>
function handleButtonClick() {
	addItem();
}

function addItem() { // ... }

Я также категорически против "неконсистентности" в названиях. Либо А, либо Б, никакого баланса.

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

Интересно, как у Svelte дела с Time to interactive?

Автор драматизирует, когда говорит, что во фронтенд каждый год меняется парадигма. С того момента, как веб перешёл на SPA, ничего кардиально не менялось, менялись только best practices, и то довольно медленно.

А то, что сообщество активно и постоянно придумывает новые варианты решения одних и тех же проблем, пытается сдвинуть парадигму (зачастую безуспешно) — по-моему, очень даже хорошо.

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

Автор продвигает идеи про "интересы общества важнее интересов каждого отдельного человека" под соусом "мышления взрослого", а индивидуалистов описывает как "инфантильных потребителей".

Имхо, любой взрослый человек должен иметь как и друзей, с которыми он просто хорошо проводит время, так и единомышленников, с которыми он имеет возможность реализовать себя и свои творческие потребности (если такие есть).

Автор же уходит в крайности, из-за чего статья превращается в агитку.

Информация

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