Prionyx/project-lvl2-s197

View on GitHub
README.md

Summary

Maintainability
Test Coverage
[![Maintainability](https://api.codeclimate.com/v1/badges/ec7bc061069b6b5f6298/maintainability)](https://codeclimate.com/github/Prionyx/project-lvl2-s197/maintainability)

[![Build Status](https://travis-ci.org/Prionyx/project-lvl2-s197.svg?branch=master)](https://travis-ci.org/Prionyx/project-lvl2-s197)

# Проект Вычислитель отличий / PHP-программист

## Цель

Второй проект является логическим развитием первого. Он захватывает большую часть синтаксических возможностей php и использует более сложную архитектуру. Затрагиваемые темы:

* cli. В этом проекте вы научитесь создавать cli приложения так, как это делается в настоящей жизни, с использованием специальных библиотек, занимающихся парсингом входных параметров, валидацией и генерацией помощи.
* Форматы данных: json, yaml, ini. Кроме понимания самих форматов, вы так же научитесь транслировать данные из php в эти форматы и обратно.
* Алгоритмическая подготовка. Вас ждет обработка и трансформация деревьев. Немного кода, кипятящего мозг, никогда не помешает.
* Архитектурные принципы: Фасад, Адаптер. Вы познакомитесь и на практике реализуете одни из самых распространенных подходов при организации кода.
* Полиморфизм
* Функциональное программирование

Красной нитью сквозь этот проект будет проходить unit-тестирование, а в идеале - разработка через тесты.

## Описание

В рамках данного проекта необходимо реализовать утилиту для поиска отличий в конфигурационных файлах.

Возможности утилиты:

* Поддержка разных форматов
* Генерация отчета в виде plain text, pretty и json