Домашнее задание по лекции Базовые знания
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
.gitignore
README.md

README.md

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

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

У события должно быть начало, конец, место и название. Подумайте какой тип данных стоит использовать для каждого из полей. Так же подумайте какие еще поля вы считаете, что должны быть. Например Рейтинг события (звезды от 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