понедельник, 21 декабря 2009 г.

Роберт Гласс. Факты и заблуждения профессионального программирования

Facts_and_FallaciesСовсем недавно я дочитал книгу Роберта Гласса “Факты и   заблуждения профессионального программирования”. В целом, книга понравилась, интересное и качественное произведение. Мое развернутое мнение можно почитать на моем блоге.

Ну а здесь, как не сложно догадаться, понравившиеся цитаты.

В книгах о менеджменте (которые я читал), говорится, что на 95% он (менеджмент) состоит из здравого смысла и на 5% - из советов не первой свежести, перекочевавших из прошлого десятилетия.
Глава 1. О менеджменте

Успех или провал проекта в первую очередь зависит от того, кто выполняет работу, а не от того, как она выполняется.
Глава 1. О менеджменте

В создании ПО важен человеческий фактор. ... Свою роль играют инструментальные средства. Важны и методы. И процессы. Но роль людей намного более значима.
Факт №1. Обсуждение

Разработка ПО - это интенсивная умственная деятельность, и среда, в которой она проходит, должна способствовать мышлению. Теснота и вызванные ею помехи в работе (намеренные или нет) сказываются на результатах весьма пагубно.
Факт №4. Обсуждение

В нашей современной культуре принято во что бы то ни стало укладываться в сроки (невозможные), жертвуя ради этого завершенностью и качеством.
Факт №12. Источник

Управление, сосредоточенное на контроле, не обязательно делает проект лучшим или даже более производительным.
Факт №13. Обсуждение

Если код программной системы предстоит модифицировать на 20-25% или больше, то проще и дешевле начать все заново и создать новый продукт. Этот порог низок (на самом деле он удивительно низок).
Факт №19. Источники

Некоторые исследователи говорят, что переизбыток паттернов (попытка применить их в тех программах, для которых они не подходят) может привести к появлению "непонятного ...кода, ...декораций на фасадах, построенных фабричным способом".
Факт №20. Полемика

Каждые 25% увеличения сложности задачи обусловливают 100% увеличения сложности программного решения. И еще запомните, что против этого нет никакого противоядия. Программные решения сложны, поскольку такова их природа.
Факт 21. Обсуждение

Чаще всего проекты, выходящие из-под контроля, на самом деле никогда и не были управляемыми.
Факт 23. Обсуждение

Если в комнате сидят несколько классных проектировщиков ПО и двое из них согласны друг с другом, то они образуют большинство.
Факт 27. Обсуждение

В целом считается, что переход от проектирования к кодированию проходит гладко. И зачастую это так и есть - до тех пор, пока код пишет тот же человек, который проектировал приложение.
Факт 29. Обсуждение

Обычно от проектировщика ожидают, что он спустится на тот уровень, где единицы кодирования представляют собой так называемые примитивы - фундаментальные программные единицы, которые хорошо известны и легко программируются. Это звучит очень просто. Но на самом деле это упрощенный взгляд. Трудности обусловлены тем, что у разных людей разные наборы примитивов. Что является фундаментальной программной единицей для одного, может не быть таковой для другого.
Факт 29. Обсуждение

Полное покрытие структурным тестированием гарантирует обнаружение лишь 25% ошибок в программном продукте.
Факт 33. Обсуждение

Закон Линуса: все ошибки становятся заметными, если на них обращено достаточно много глаз - with enough eyeballs, all bugs are shallow.
Факт 34. Обсуждение

Процесс отладки - это детективный жанр программирования. Преследуя неуловимую программную ошибку, вы перевоплощаетесь в Шерлока Холмса. И подобно Шерлоку Холмсу, вы должны призвать на помощь свой интеллект и любые поддерживающие его и доступные вам средства.
Факт 36. Обсуждение

Самое трудное в сопровождении ПО - это понять, как работает уже имеющийся продукт.
Факт 44. Обсуждение

О качестве (ПО) мы говорим так: "Когда я его увижу, я пойму, что это оно".
Глава 3. О качестве

Такое ощущение, что придумывание лозунгов ("Качество - задача номер один!") и методологий ("Тотальное управление качеством") есть главное средство руководителей в деле обеспечения качества программного продукта. Все это чуждо техническим специалистам и настраивает их враждебно. Не помогает делу и то, что в роли главного врага качества в большинстве программных проектов выступают сроки. Одной рукой менеджмент мотивирует и внедряет методики, а другой - держит сроки, под давлением которых и гибнет качество. Нельзя, как говорится, "и на елку забраться, и ничего себе не расцарапать". А большинство технарей достаточно умны, чтобы понимать это.
Заблуждение 2. Обсуждение

Человеку свойственно предсказывать будущее, опираясь на опыт прошлого. В конце концов, нельзя точно предсказать будущее, глядя в него же. Поэтому мы исходим из предположения, что вероятные события будущего будут похожи на те события, которые уже произошли. Иногда это предположение оправдывается. На самом деле довольно часто. Но иногда оно не оправдывается совершенно.
Заблуждение 9. Обсуждение

Реальность - это убийство прекрасной теории бандой мерзких фактов.
Выводы

Комментариев нет:

Отправить комментарий