Задать вопрос

Можно ли претендовать на должность junior-frotnend (trainee) с таким кодом?

Добрый день. Увидел тут вопрос с аля "тестовым" на знание js и решил сделать свою "реализацию". Что можете сказать по поводу моего кода ? Интересует больше структура тк просто что-то создать/удалить итд не сложно, а как это грамотно струкрутировать не понятно. Собственно код:
  • Вопрос задан
  • 1807 просмотров
Подписаться 10 Простой 4 комментария
Решения вопроса 2
@dimoff66
Кратко о себе: Я есть
Сразу по первой функции

1. workers объявлена, но нигде не используется,
const workers = [
    {
      name: 'Mike',
      work: 'Google',
      id: 0
    }
  ];


Тогда уж поместить внутрь возвращаемого объекта
return {
    workers: [{
      name: 'Mike',
      work: 'Google',
      id: 0
    }],


2. Вместо
addWorker(worker) {
      worker.id = workers.length;
      workers.push(worker);
    },


кошернее
addWorker(worker) {worker.id = workers.push(worker);}

чтобы нумерация начиналась с единицы а не с нуля. Либо
addWorker(worker) {workers.push([...worker, id: workers.length + 1]);}


3. функцию removeWorker проще и рациональней переписать в виде
removeWorker(worker) {
        const id = Number(worker.dataset.id);
        const index = workers.findIndex(item => item.id === id);
        workers.splice(index, 1);
    },


4. Код функции isWorkerEmpty можно сократить
isWorkerEmpty(worker) {return Object.values(worker).every(v=>v);}


5. Почему функция возвращения workers называется getUsers не очень понятно.
Ответ написан
FlashManiac
@FlashManiac
I am from Krypton!
Как уже выше писали - слишком запутано для такой простой задачи. Код должен быть простым и лаконичным. Помимо выше перечисленного заметил вот этот странный код:
(function () {
		UiCtrl.createForm();
	}());

Не понятно зачем надо оборачивать вызов метода?

Рекомендации:
  • Юзайте редактор с подсказками eslint. Например Intellij Idea + eslint + airbnb style. Это вас научит писать код в одном стиле.
  • Юзайте современный front-end stack -> nodejs + es6-7 + webpack + ...
  • Изучите -> Vue + React + Angular. Напишите несколько демо-проектов.
  • Напишите резюме. Найдите как написать в современном стиле.
  • Найдите понравившуюся вакансии в крупной-средней фирме. И изучите все что требуется для данных вакансий. После - отправьте резюме во все.
  • Проходите тех-собеседования регулярно.

Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы