Тестовое задание для byndyusoft.com
в качестве тестового задания предлагаем написать на Node.js консольный калькулятор (можно с веб-интерфейсом), который принимает входную строку, содержащую математическое выражение (целые и десятично-дробные числа, знаки +, -, *, / и скобки) и выводит в консоль результат его вычисления.
Главным критерием при оценке задания является использование при разработке TDD и принципов SOLID. Архитектура решения должна обеспечивать расширение списка поддерживаемых операций при минимальном и максимально безболезненном для существующей функциональности внесении изменений в исходный код. Код должен быть легко читаем и отформатирован в едином стиле, содержать минимальное число поясняющих комментариев.
Пример консольного ввода: Введите выражение: 1+2-3 Результат: 0
Результатом будет публично доступный репозиторий на GitHub с исходным кодом тестового задания.
Ждем фидбек, когда приступите к выполнению или решите не делать тестовое. Пожалуйста, в ответе поставьте метку "ответить всем"
-- Best wishes, Margarita Milberger HR-manager at Byndyusoft http://byndyusoft.com
Для установки понадобиться:
nodejs $ sudo apt install nodejs
yarn $ sudo npm i -g yarn
Для настройки: yarn install
Разработка тесты: yarn test
Консольная версия: yarn start
Публикация для WEB: yarn build:web
- создает мини сайт в 'public'
Разработка для WEB: yarn develop:web
const Calculator = ( fn => new fn() )( require( './source/calculator' ).default );
var result = Calculator.calculate('.....');
или
const Calculator = require( './source/calculator' ).default;
var result = Calculator('.....');
или
const Calc = require( './source/calculator' ).default;
const Calculator = new Calc()
var result = Calculator.calculate('.....');
calculate( exp )
- вычисляет выражение exp