Skip to content

Latest commit

 

History

History
47 lines (40 loc) · 2.7 KB

README.md

File metadata and controls

47 lines (40 loc) · 2.7 KB

Базовые знания

Необходимо создать объект, описывающий событие в календаре.

У события должно быть начало, конец, место и название. Подумайте какой тип данных стоит использовать для каждого из полей. Так же подумайте какие еще поля вы считаете, что должны быть. Например Рейтинг события (звезды от 0 до 5), Участники, GPS координаты места, Какая-нибудь ссылка ... все они на ваше усмотрение и вкус.

  • В итоге у вас должена получиться функция, которая создает такой объект, проверяет валидность переданых данных.
  • Кроме создания функции необходимо, чтобы она так же проходила jslint
  • Была с задокументирована с помошью JSDoc. (см. пример)
  • Код должен быть в UTF-8!
  • Должен лежать в отдельном файле .js

Самый примитивный вид такой:

/**
 * Возвращает объект Event
 *
 * @param {Number|Date} start             Начало события
 * @param {Number|Date} end               Конец события
 * @param {String}      [name="Событие"]  Имя события
 *
 * @example
 *    Event(new Date('2011-10-10T14:48:00'),
 *          new Date('2011-10-10T15:48:00'),
 *          "Совещание")
 *
 * @return {Object}
 */
function Event(start, end, name) {
    return {
        "start": +start,
        "end": +end,
        "name": name || "Событие"
    };
}

Распостраненные ошибки

  • Слишком много аргументов у функции - лучше передавать в функцию объект с определенными параметрами, а в функции проверять их наличие и валидность. Функция станет читаемой и мы сможем менять порядок аргументов
  • Необходимо выделить критичные и не еритичные параметры (для критичных можно выбрасывать исключение, а для не критичных устанавливать значение по умолчанию)
  • Не понятные имена переменных - a, b, c, t