Skip to content

Latest commit

 

History

History
57 lines (36 loc) · 4.01 KB

README.md

File metadata and controls

57 lines (36 loc) · 4.01 KB

Задача сделать консольную утилиту для фронтендера.

Утилита будет брать все файлы с расширением .js в текущей директории, находить в них все комментарии с TODO. Искать по ним, фильтровать, сортировать.

Мы уже написали за тебя метод для работы с консолью и методы для чтения из файлов. Осталось написать остальное =)

Для запуска используй команду node index.js При запуске специальный код ждет команды из консоли.

Сейчас он знает только команду exit, остальные нужно дописать тебе.

  1. Получи из всех файлов все однострочные комментарии, начинающиеся с TODO. Все комментарии имеют одинаковое начало: два слеша, пробел, слово TODO капсом, снова пробел и дальше текст комментария. Например:
    // TODO Переделать это!
  1. Сейчас метод processCommand обрабатывает только команду exit и завершает процесс в node. Научись обрабатывать еще одну команду из консоли:
    show : показать все todo

Выводить нужно стандартным выводом в консоль console.log. Можешь выводить как угодно твоим эстетическим чувствам: можно выводить просто массив в консоль, можно каждый элемент на новой строчке.

  1. В комментарии может присутствовать восклицательный знак (!), что означает, что это задача с высоким приоритетом. Научись обрабатывать команду из консоли:
    important : показывать только todo, в которых есть восклицательный знак
  1. Текст в todo может быть представлен обычным текстом. Или же использовать специальную разметку: // TODO {Имя автора}; {Дата комментария}; {текст комментария} После имени и даты обязательно ставится точка с запятой, а вот пробел между ними не обязателен. Научись обрабатывать еще одну команду из консоли:
    user {username} : показывать только комментарии от указанного пользователя

Причем имя пользователя должно быть регистронезависимо. Пример команды: user veronika

  1. Научись обрабатывать команды
    sort {importance | user | date} : выводит отсортированные todo

Если аргумент importance, то сначала выводятся комментарии с восклицательными знаками, потом все остальные.

Чем больше восклицательных знаков, тем выше приоритет и тем выше в списке этот комментарий.

Если аргумент user, то выводятся задачи сгрупированные по пользователям, а в конце безымянные.

Если аргумент date, то выводятся сначала самые новые, потом постарше, потом без дат.

Примеры команд: sort importance, sort user, sort date