консультант и автор в области разработки ПО
Проектирование и программирование - это человеческая деятельность; забудь об этом, и все потеряно. - Бьерн Страуструп, 1991.
ПодробнееЕсли дисциплина спецификации требований и научила нас чему-то, так это тому, что четко определенные требования столь же формальны, как и код, и могут выступать в качестве исполняемых тестов этого кода
ПодробнееВ этом заключается философия YAGNI: «Вам это не понадобится». В этом сообщении есть мудрость, поскольку чрезмерная инженерия часто намного хуже, чем недостаточная инженерия. С другой стороны, когда вы
ПодробнееСкажи что ты имеешь в виду. Имейте в виду то, что вы говорите.
ПодробнееЛюди, которые думают, что код однажды исчезнет, подобны математикам, которые надеются однажды открыть математику, которая не обязательно должна быть формальной. Они надеются, что однажды мы откроем сп
ПодробнееПрограммистам следует избегать оставлять ложные подсказки, которые затемняют смысл кода.
ПодробнееВариант использования - это описание способа использования автоматизированной системы. Он определяет входные данные, которые должен предоставить пользователь, выходные данные, которые должны быть возв
ПодробнееСоздание проекта должно быть одной тривиальной операцией.
ПодробнееДругая проблема с разделением на уровне обслуживания заключается в том, что оно требует больших затрат как времени разработки, так и системных ресурсов. Работа с границами обслуживания там, где они не
ПодробнееПроблема, которую Дейкстра осознал на раннем этапе, заключалась в том, что программирование - это сложно, и программисты не очень хорошо с ним справляются.
ПодробнееРассмотрим, например, поистине отвратительную практику создания переменной с именем klass только потому, что имя класса использовалось для чего-то другого.
ПодробнееС другой стороны, система, разрабатываемая пятью разными командами, в каждую из которых входят по семь разработчиков, не сможет добиться прогресса, если система не будет разделена на четко определенны
ПодробнееДобавление рабочей силы в отложенный проект делает его позже.
ПодробнееВсе состояния гонки, взаимоблокировки и проблемы одновременного обновления возникают из-за изменяемых переменных.
ПодробнееЕсли изменение требований ломает вашу архитектуру, значит, она отстой.
ПодробнееЕсли вы можете разработать политику высокого уровня, не вдаваясь в детали, которые ее окружают, вы можете отложить принятие решений по этим деталям на долгое время. И чем дольше вы ждете принятия этих
ПодробнееСхемы баз данных общеизвестно нестабильны, чрезвычайно конкретны и сильно зависят от них. Это одна из причин, почему интерфейсом между объектно-ориентированными приложениями и базами данных так сложно
ПодробнееФундаментальное предположение, лежащее в основе всех программных проектов, заключается в том, что программное обеспечение легко изменить. Если вы нарушите это предположение, создав негибкие структуры,
ПодробнееВидите ли, программисты, как правило, высокомерные, эгоцентричные интроверты. Мы пошли в этот бизнес не потому, что нам нравятся люди.
ПодробнееКаким бы ни было TODO, это не повод оставлять в системе плохой код.
ПодробнееВозможно, вы думали, что «заставить это работать» - это первая задача профессионального разработчика. Однако я надеюсь, что эта книга уже разубедила вас в этой идее. Функциональность, которую вы созда
ПодробнееОценка - это не число. Оценка - это распределение.
ПодробнееТо, что мы можем создать систему «правильно с первого раза», - это миф. Вместо этого нам следует реализовать только сегодняшние истории, а затем провести рефакторинг и расширить систему для реализации
ПодробнееТочно так же, как Заяц был слишком уверен в своей скорости, так и разработчики слишком уверены в своей способности оставаться продуктивными.
ПодробнееПредоставление слишком большого количества деталей может стать приглашением к микроменеджменту.
ПодробнееОсновная стоимость обслуживания связана с исследованиями и риском. Spelunking - это стоимость копания в существующем программном обеспечении с целью определить лучшее место и лучшую стратегию для доба
ПодробнееНаука не работает, доказывая истинность утверждений, а скорее доказывая ложность утверждений.
ПодробнееОднако внимание к деталям является еще более важной основой профессионализма, чем любое грандиозное видение. Во-первых, именно благодаря практике в малом профессионалы приобретают навыки и доверие к п
ПодробнееSRP - одна из наиболее важных концепций объектно-ориентированного проектирования. Это также одна из самых простых концепций для понимания и соблюдения. Однако, как ни странно, SRP часто является наибо
Подробнее