Skip to content

Latest commit

 

History

History
71 lines (46 loc) · 4.22 KB

README.md

File metadata and controls

71 lines (46 loc) · 4.22 KB

Q1 Хорошее и плохое клиентское приложение с точки зрения:

  • Пользователь. Думаю, что для пользователя важно очень много аспектов. Первое, как это банально и избито бы не звучало - это скорость и отзывчивость приложения, второе - это, пожалуй, интуитивный интерфейс (пользователь не должен долго искать те или иные разделы или кнопки, все должно быть на привычных местах).

  • Менеджер проекта. Думаю, что менеджеру проекта важно, чтобы все было в соответствии с ТЗ, а верстка была Pixel Perfect.

  • Дизайнер. Дизайнеру важно увидеть тот результат, который будет на 100% идентичен его макету. Поэтому - Pixel Perfect.

  • Верстальщик. Хорошое приложение - это структурированное приложение.

Q2

Думаю, что приложение будет легче поддерживать и вносить в него изменения если:

  • Используется архитектура (Например MVC)
  • Присутствуют адекватные комментарии в коде
  • Все сущности названы осознанными именами

Q3

Если кратко, то Presentational - это компонент, который ничего не делает, кроме рендеринга, а Container имеет определенную логику.

Q4

Прототипное наследование в JS складывается из вызова ссылки proto у объекта которой автоматиески присваивается ссылка prototype функции конструктора объекта.

То есть, если мы создадим конструктор: var Car = function(model) { this.model = model;

getModelCar () { return 'This is' + this.model; { };

После мы создадим объект на основе конструктора Car: var ferrari = new Car('Ferrari');

То произойдет следующее: Создается объект ferrari, который вызывает функцию Car() и прототипом этого объекта (proto) назначается свойство prototype конструктора Car. this - это контекст объекта, который был создан на основе конструтора.

Начиная с ES6 доступен синтаксис в стиле ООП: class Car { constructor(model) { this.model = model; }

getModelCar () { return This is ${this.model}; } }

Прототипам класса Sportcar доступны методы класса Car: var ferrari = new Car('Ferrari');

console.log(ferrari.getModelCar);

Q5

К сожалению никогда не писал тестов, так как не учавствовал в крупных проектах.

Q6

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

Q7

В процессе написания как-то пользовался Eslint'ом. Отладка console.log().

Q8

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