ICL Services
Задать вопрос экспертам 8-800-333-98-70
Новости
4 Августа 2015
Новости

Пишем maintainable код

По счастливому стечению обстоятельств легкий в поддержке maintainable код также является и легким для (unit-)тестирования, легким для освоения новыми членами команды и т.д. Скорее всего, это связано с тем, что для создания maintainable кода приходится озаботиться хорошей архитектурой проекта и завести несколько хороших привычек.

Главный принцип деления программы на части высокого уровня не меняется уже несколько десятилетий: Data access layer, Business (logic) layer и Presentation layer. Причем, очевидно, что слой отражающий суть и всю ценность нашего приложения это Business layer, а DAL и PL являются некого рода обслуживающими слоями. А все эти аббревиатуры на букву M представляют собой архитектурные паттерны, описывающие как организовать Presentation layer в программах, не более того.

Ну и раз уж обещал говорить о привычках, выделим первую: в гонке за модными технологиями для хранения данных или для представления их же пользователю, не забывать, что ваше приложение — это ваш Business layer, остальное — шелуха, легко меняющаяся со временем.


И сразу же, без предисловий, вторая хорошая привычка: SOLID. Не знаю как остальное в SOLID, но важность Single responsibility принципа трудно переоценить. Я бы назвал его необходимым и достаточным условием хорошего кода. В любом плохом коде всегда найдется класс, который делает больше одного дела (Form1.cs или index.php, размером в тысячи строк наверно каждый видел, а то и делал). Остальные принципы из SOLID не так важны для меня и, кстати, недавно на хабре была хорошая статья на эту тему, куда вас и отсылаю. Я во многом солидарен с написанным там и благодарен автору этой статьи, что мне не придется объяснять это самому.

Принцип Single responsibility (дальше просто принцип S) буквально заставляет писать качественный код и многие, очень многие методики, являются просто инструментами для написания кода, удовлетворяющего данному принципу.И примером является то, что я выделю в третью хорошую привычку: Dependency Injection. Я слабо представляю себе более-менее большой проект, исповедующий принцип S, без DI. Я обещал приводить примеры и здесь хорошее место, чтобы начать это делать. Обычный класс, представляющий собой логику работы с заказами какого-нибудь интернет-магазина.

Продолжение самой рейтинговой статьи от инженера-программиста Аделя Файзрахманова в  нашем блоге на портале Хабрахабр.


Поделиться:

Новости по теме

    Свяжитесь с нами

    Контакты Пресс-службы
    Телефон 8 (800) 333-98-70

    pr@icl-services.com

    Будьте в курсе новостей

    Подпишитесь на рассылку и будьте в курсе наших последних новостей

    Подписаться на рассылку
    Адрес подписки успешно добавлен! Ok
    Читайте нас на
    На сайтах icl-services.com используются cookie-файлы. Оставаясь на сайте, вы даете свое согласие на использование нами cookie-файлов. Если, прочитав данное сообщение, вы не согласны, просим вас покинуть сайт.