Совершенный код: Желательные характеристики хорошего проекта

Сейчас читаю одну очень интересную книгу Макконнелла под названием «Совершенный код«, которая, кстати, является классикой жанра в области проектирования программ и написанию хорошего кода. Поскольку всё то, о чем говорится в книге, полностью подходит и для веб-разработки, решил делиться в блоге интересными моментами, которые мне показались очень важными. И как раз сегодня речь пойдет о желательных характеристиках хорошего проекта, который разрабатывается.

Желательные характеристики хорошего проекта

Желательные характеристики хорошего проекта


Высококачественные проекты программ имеют несколько общих характеристик. Если вы сумеете достичь всех этих целей, ваш проект на самом деле будет очень хорош.

Вот список таких внутренних характеристик проекта:

Минимальная сложность. В силу только что описанных причин главной целью проектирования должна быть минимизация сложности. Избегайте создания «хитроумных» проектов: как правило, их трудно понять. Вместо этого создавайте «простые» и «понятные» проекты. Если при работе над отдельным фрагментом программы проект не позволяет безопасно игнорировать большинство остальных фрагментов, он неудачен.

Простота сопровождения, Проектируя приложение, не забывайте о программистах, которые будут его сопровождать. Постоянно представляйте себе вопросы, которые будут возникать у них при взгляде на создаваемый вами код. Думайте о таких программистах как о своей аудитории и проектируйте систему так, чтобы ее работа была очевидной.

Слабое сопряжение. Слабое сопряжение (loose coupling) предполагает сведение к минимуму числа соединений между разными частями программы. Для проектирования классов с минимальным числом взаимосвязей используйте принципы адекватной абстракции интерфейсов, инкапсуляцию и сокрытие информации. Это позволит максимально облегчить интеграцию, тестирование и сопровождение программы.

Расширяемость. Расширяемостью системы называют свойство, позволяющее улучшать систему, не нарушая ее основной структуры. Изменение одного фрагмента системы не должно влиять на ее другие фрагменты. Внесение наиболее вероятных изменений должно требовать наименьших усилий.

Возможность повторного использования. Проектируйте систему так, чтобы ее фрагменты можно было повторно использовать в других системах. Высокий коэффициент объединения по входу При высоком коэффициенте объединения по входу (fan#in) к конкретному классу обращается большое число других классов. Это значит, что система предусматривает интенсивное использование вспомогательных низкоуровневых классов.

Низкий или средний коэффициент разветвления по выходу. Это означает, что конкретный класс обращается к малому или среднему числу других классов. Высокий коэффициент разветвления по выходу (fan#out) (более семи) говорит о том, что класс использует большое число других классов и, возможно, слишком сложен. Ученые обнаружили, что низкий коэффициент разветвления по выходу выгоден как в случае вызова методов из метода, так и в случае вызова методов из класса (Card and Glass, 1990; Basili, Briand, and Melo, 1996).

Портируемость. Проектируйте систему так, чтобы ее можно было легко адаптировать к другой среде.

Минимальная, но полная функциональность. Этот аспект подразумевает отсутствие в системе лишних частей (Wirth, 1995; McConnell, 1997). Вольтер говорил, что книга закончена не тогда, когда в нее больше нечего добавить, а когда из нее ничего нельзя выбросить. При разработке ПО это верно вдвойне, потому что дополнительный код необходимо разработать, проанализировать, протестировать, а также пересматривать при изменении других фрагментов программы. Кроме того, в будущих версиях приложения придется поддерживать обратную совместимость с дополнительным кодом. Опасайтесь вопроса: «Эту функцию реализовать легко — почему бы этого не сделать?»

Стратификация. Под стратификацией понимают разделение уровней декомпозиции, позволяющее изучить систему на любом отдельном уровне и получить при этом согласованное представление. Проектируйте систему так, чтобы ее можно было изучать на отдельных уровнях, игнорируя другие уровни.

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

Соответствие стандартным методикам. Чем экзотичнее система, тем сложнее будет другим программистам понять ее. Попытайтесь придать всей системе привычный для разработчиков облик, применяя стандартные популярные подходы.

Совершенный код: Желательные характеристики хорошего проекта
7 votes, 5.00 avg. rating (99% score)

14 thoughts on “Совершенный код: Желательные характеристики хорошего проекта

  1. Обольстительные рассказы проституток на сайте Girls Room волшебным образом раскрасят ваши будни восхитительными красками и подарят огромное наслаждение. Здесь дешевые проститутки с выездом в Москве не только полностью удовлетворят ваш интерес, но и оправдают любые даже самые откровенные ожидания и фантазии. Рассказы проституток, которые вы здесь прочтете помогут почувствовать себя настоящим гигантом в сексе. А фото проституток только дополнят ваше удовольствие. Здесь проститутки Казани и проститутки Одессы откроют для вас дверь в мир сексуальных удовольствий, проститутки Воронежа и проститутки Харькова помогут Вам ощутить себя обожаемым и всегда желанным мужчиной, проститутки Крового Рога и проститутки Екатеринберга расскажут самые яркие истории из своей жизни, проститутки Красноярска и проститутки Полтавы откроют для вас науку получения и доставления удовольствия от секса.
    Girlsroom.biz.ua — дешевые проститутки в москве с номерами телефонов

  2. This message is posted here using XRumer + XEvil 3.0
    XEvil 3.0 is a revolutionary application that can bypass almost any anti-botnet protection.
    Captcha Recognition Google, Facebook, Yandex, VKontakte, Captcha Com and over 8.4 million other types!
    You read this — it means it works! 😉
    Details on the official website of XEvil.Net, there is a free demo version.

  3. Поехали в отпуск, и занемог ребенок, а деньжат недостаточно. Легко оформили займ онлайн, на кредитную карту пришли наличные моментально. Отдали спустя недельку уже дома. Никаких справок либо поручителей. Необходим только лишь телефончик и пластиковая карта с которой можно забрать всю ссуду через несколько минут после одобрения заявки.
    Выручали подобные быстрые финансы и родственников, когда знакомому необходимо было немедленно проплатить экзамен. Никому не надо объяснять, унижаться и вымаливать. Сам выбираешь сумму и время возврата. Рекомендую всем, кто очутился в сложной ситуации.

  4. Здравия желаем
    Девчонки Кто то из вас стремиться обрести Большой доход от 250000Р
    работа для женщин в спб http://lavanagency.ru/
    Получите много возможностей, сможете приобрести дом
    Модельное Эскорт Агентство «Lavana»

  5. Интернет-магазин «подарки.shop» – это широчайший выбор подарков для детей, а также их родителей. У нас вы найдете игры, глобусы, подарочные наборы, книги, скатерти, подтарельники, пазлы, карты мира и многое другое. При этом в каждой из этих категорий есть множество подпунктов, которые могут удовлетворить любые запросы. Так, только в категории глобусы есть и глобусы на батарейках, и глобусы с двойной картой, и физические глобусы, и политические глобусы, и школьные глобусы, и рельефные глобусы, и детские глобусы, и глобусы с подсветкой. Кроме того, иногда у нас ищут глобус на деревянной подставке, такие тоже есть. В общем, как мы видим на своем опыте, глобусы на подарки – это довольно таки популярный вариант. Схожим вариантом являются и карты мира. Мы предлагаем настенные карты, физическая карта мира, политическая карта мира, карты мира на рейках, карты в багете, особо популярны в последнее время — скретч карты, и даже такой необычный вариант, как скатерти с картой мира. Также есть детская карта мира и детские атласы.
    Конечно же, говоря о подарках нельзя не упомянуть про книги. В магазине»подарки.shop» вы увидите книги различнейших направлений: книги для детей, развивающие книги, развлекательные и художественные книги.
    «Подарки.shop» – отличный помощник при поиске подарка по любому поводу и даже без него. Очень часто к нам обращаются, когда ищут подарки для детей в садик, особенно подарки в садик для детей на выпускной.
    Подарки.shop — пазлы

  6. It’s distressingly adequacy as it is to make plain to non-SEOs how to classify a webpage. In an increasingly complicated greensward, to do source you’ve Comment suivre le cours du bitcoin live got to have a acceptable handgrip on a large variety of detailed subjects. This copy of Whiteboard Friday covers a nine-point checklist of the bigger items you’ve got to cross away to seniority in the new year — and perhaps pinch some hints on how to simplify it to others, too.

  7. Зимнюю обувь по самым лучшим ценам достаточно трудно найти. Сегодня очень много парней носят угги. Эта обувь считается надёжной и заслужила интерес у населения. Наша организация есть официальным интернет-магазином организации UGG.

    Австралийские UGG — официальный интернет-магазин

    На australia-msk.ru вы можете заказать угги темных цветов. Вам будут доступны единицы с маленькой размерной сеткой. Сегодня оригинальные угги являются популярной и удобной обувью. UGG Australia – это современная обувь, которая пользуется спросом во многих государствах. Её могут носить как мужчины, так и дамы. Наша компания предлагает вам самые надёжные модели по приятным ценам. Мы продаём натуральные угги, которые пошиты из натуральной овчины.

    По сути угги являются сапогами из овчины, которые безумно популярны. Купить угги вы имеете шанс, не выходя из дома. Наша организация предлагает доставку сапог по всей стране. Вы можете заказать обувь, пребывая в другом городе просто перейдя по ссылке — мужские угги интернет-магазин

    Компания Australia-msk использует различные наполнители для своей обуви. В наши дни вы можете купить угги с мехом, или приобрести обувь из других наполнителей. В нашей стране бренд уже завоевал интерес у многих мужчин и девушек. Фирма выпускает обувь, которая считается трендом на протяжении пары последних лет. В нашем интернет-магазине вы можете найти мужские и женские угги. Если вас интригуют женские светлые модели, купить угги для девушек вы сможете даже со скидкой в интернет-магазине.

    Приобрести UGG в Москве и с доставкой по России

    У нас в интернет-магазине australia-msk.ru есть большой каталог угг, где вы сможете купить угги. Если вас привлекают Угги Австралия, вам надо обращаться только в официальный интернет-магазин. Там вам предоставят консультацию по любым уггам. Вы сможете купить ugg australia любых параметров. Компания Australia-msk работает с 9.00 до 22.00 Вы можете обращаться к нам, если вам нужны будут темные мужские или женские угги. Стоит отметить, что на сайте есть и детские угги. Вы можете также найти новые модели, которые невероятно пользуются спросом в этом году.

    На портале есть хиты продаж, где вы сможете выбрать разные товары. Компания находится в г. Москва, Проспект мира, д. 102, к.1, где вы в любое рабочее время имеете шанс купить обувь. Если вы находитесь в другом регионе, у вас есть возможность приобрести UGG виртуально. Достаточно будет связаться с консультантами или оформить заявку на портале. Угги официальный портал предлагает варианты по очень выгодной цене.

    На australia-msk.ru вы имеете шанс купить угги в Москве по акции. Доставка UGG возможна также интересующей вас курьерской службой. Оплату реально провести на реквизиты фирма или проконсультироваться у менеджеров фирмы по поводу возможности оплаты товара. Если вы прибудете в офис компании в МО, оплату реально произвести наличными на месте.

    Почему покупают UGG (Угги)

    Организация UGG предлагает действительно отличную обувь. Сейчас угги Австралия пользуются спросом во всём мире. Вы имеете шанс угги купить недорого, или воспользоваться акциями и заказать товары со скидками.

    Компания UGG выпускает надёжную продукцию. Даже если у вас отсутствует возможность приобрести угги в столице, не надо волноваться. Доставка доступна в различные регионы. Если вам нужна будет консультация насчет каких-то определенных моделей, администраторы помогут вам!

    Интернет магазин угги является надёжным и привык радовать людей исключительно положительными эмоциями. Вы можете также оставить заявку нам на почту, и менеджеры проинформируют вас по почте. В компании трудятся квалифицированные специалисты с колоссальным стажем работы. Именно из-за этого при выборе товаров у людей не появляется жалоб. В этом году угги интернет магазин также проводит много акций на товары UGG, поэтому вы можете заказать на australia-msk.ru очень выгодные предметы торговли со скидкой.

  8. Modern firms who allow details for BMW and MINI should be organizations with large experience in these sphere. If you desire to search company who suggest only original details for BMW, best way to find firm with well-known reputation. Such a organization may be bmw dalys krasta firm, who perform auto parts for bmw and mini.

    At jados.lt there many of details for different BMW models. Firm situated in Vilnius and suggest original parts for german cars and details for other cars. They have their own storage in Vilnius, two storages in Krakow and one in Berlin. At their private storage they have a lot of BMW parts for cars repairing. At website you can as rule search details for cars, like as BMW or Mini. You can also call for company and ask them about details at phone number +37061018688.

    Every day more and more details for BMW are bought with the support of web. In the Internet you can find different virtual magazines. There you could find and buy various car details. Original spare parts for MINI ordered only after prepayment.

    Jados «jados.lt» organization have only new and certificated details. They have different details for BMW. Firm suggest for all persons opportunity to buy details with guarantee. Managers also have their own customer support. If you want to ask them about help, they suggest for your different ways solution of the problem. You may also use their form at link and find spare parts at VIN. Search by brand of car is also probable.

    If you want to make assessment for your car, you could ask managers. They help you and suggest different decisions. For example, you can go to service, where specialists will diagnose your machine. You may also search and purchase details for different models BMW in firm. You can use various ways of purchasing. For example, details searching for BMW is carried out: by VIN, by form of car, by article.

    To pay for your order for details for autors you could: in firm, with money in office, with bank card, with money at bank, use banking service and do banking transfer in various country. Company also have their private courier serve. Courier managers should send you details with international post if you leave abroad or do delivery at Vilnius.

    Details delivery may be also for Lwow, Minsk, Moscow, Utena and other cities. Managers who are working at firm support you with choice and suggest your various ways if you wish to purchase spare parts for autos. You should also search at link characteristics for details and their photos.

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *