Стив Макконнелл

  • Оксана Пугаhas quoted2 years ago
    Частенько в спецификации архитектуры разработчики определя#
    ют более надежную систему, чем указано в требованиях. Одна из причин этого в
    том, что система, состоящая из многих частей, удовлетворяющих минимальным
    требованиям к надежности, в целом может оказаться менее надежной, чем нуж#
    но. В мире ПО цепь не так крепка, как слабейшее звено; она так слаба, как все слабые
    звенья, вместе взятые.
  • Оксана Пугаhas quoted2 years ago
    Избавившись от необ#

    ходимости проводить праздничную церемонию каждый раз, когда оператор язы#

    ка C делает то, что было задумано, вы сэкономите время
  • Оксана Пугаhas quoted2 years ago
    Типичная история такова: «Мы пи#

    сали новую систему на C++, но большинство наших программистов не имели

    особого опыта работы на C++. Раньше они использовали Fortran. Они писали код,

    который компилировался на C++, но на самом деле это был замаскированный

    Fortran. В итоге они заставили C++ эмулировать недостатки языка Fortran (такие

    как операторы goto и глобальные данные) и проигнорировали богатый набор

    объектно#ориентированных возможностей C++».
  • Оксана Пугаhas quoted2 years ago
    В один ветреный день 1940 г. колебания неконтролируемо усилились, и
    часть моста обрушилась (рис. 5#1).
    Это наглядный пример грязной проблемы: до разрушения моста инженеры не
    знали, что аэродинамика играет такую большую роль. Только построив мост (ре-
    шив проблему), они смогли обнаружить дополнительный аспект проблемы, что
    позволило им возвести новый мост, действующий и поныне.
  • Оксана Пугаhas quoted2 years ago
    Преподавателя, который дает
    студентам задания и свободно изменяет их по завершении проектирования и
    даже перед сдачей готовых программ, вероятно, облили бы дегтем и вываляли в
    перьях. Однако в мире профессионального программирования такие изменения
    происходят ежедневно.
  • Оксана Пугаhas quoted2 years ago
    Проектирование — эвристический процесс
    Так как проектирование не детерминировано, методы проектирования
    чаще всего являются эвристическими методами, т. е. «практическими пра#
    вилами» или «способами, которые могут сработать», а не воспроизводи-
    мыми процессами, которые всегда приводят к предсказуемым результатам.
  • Оксана Пугаhas quoted2 years ago
    В то же время Брукс утверждает, что решение оставшихся существенных проблем
    разработки ПО будет более медленным. Это объясняется тем, что разработка
    программ по своей сути требует анализа всех деталей крайне сложного набора
    взаимосвязанных концепций. Причиной существенных проблем является не-
    обходимость анализа сложного неорганизованного реального мира, точного и
    полного определения зависимостей и исключений, проектирования абсолютно,
    но никак не приблизительно верных решений и т. д.
  • Оксана Пугаhas quoted2 years ago
    По#моему,
    управление сложностью настолько важно, что оно долж#
    но быть Главным Техническим Императивом Разработки ПО.
  • Оксана Пугаhas quoted2 years ago
    Проектируйте систему так, чтобы
    ее фрагменты можно было повторно использовать в других системах.
  • Оксана Пугаhas quoted2 years ago
    Стремление к краткости методов программы помогает снизить нагрузку на ин-
    теллект. Этому же способствует написание программы в терминах проблемной
    области, а не низкоуровневых деталей реализации, а также работа на самом вы-
    соком уровне абстракции.
fb2epub
Drag & drop your files (not more than 5 at once)