Статьи в рубрике “Методики”
Список паттернов искаженного мышления
Marlena Compton | 17.02.2013
Если вы плохо позавтракали или недоступность облачной инфраструктуры не позволяет вам тестировать, физическая реакция расстройства делает вас подверженным искаженному мышлению. Мы должны вовремя останавливать нагнетание катастрофы и начинать взаимодействовать с товарищами по команде. Если мы можем распознать искаженное мышление при выборе эвристик тестирования, мы наверняка сможем вовремя оставить эти искажения позади. Поляризация подходит для формальных методов, но не годится для друзей.
Типичные сценарии распространения и обработки исключений. Часть 2.
Артур Бакиев | 19.08.2012
Продолжение. Первая часть серии статей опубликована здесь. Класс UserPreferences Класс CFile из первый части статьи продемонстрировал нам, каким образом API, на котором базируется класс, определяет политику распространения исключений данного класса. Там же говорилось о “функциональной совместимости”, которую приходится соблюдать при создании новых классов, использующих некоторый “базовый код”. В первой части в качестве примера рассматривалось создание новой библиотеки. Во второй части полученный опыт будет экстраполирован на создание пользовательского класса. Для демонстрации, [...]
DTrace: технология для ленивых сисадминов и разработчиков
Филипп Торчинский | 15.03.2011
Филипп Торчинский, признанный эксперт в администрировании Unix-систем, раскрывает секреты приложений с помощью DTrace. Технология DTrace и подходящие инструменты для ее использования появились в 2005 году, но, несмотря на это, DTrace еще малоизвестна в широких кругах разработчиков и сисадминов. Это тем более удивительно, что за пять с половиной лет, прошедших с выхода системы Solaris 10, в которой она впервые появилась, так и не было придумано более совершенной технологии наблюдения за операционной [...]
Типичные сценарии распространения и обработки исключений
Артур Бакиев | 14.02.2011
Предисловие Статья рассматривает вопросы, относящиеся к обработке исключительных ситуаций [exception handling] в языках, поддерживающих соответствующий механизм. В статье обсуждаются наиболее распространённые проблемы, с которыми сталкивается разработчик, применяя обработку исключений, а также возможные способы решения этих проблем. Основной акцент в статье делается на примерах и прецедентах использования исключений. Статья предназначена для разработчиков, знакомых с объектно-ориентированными языками и будет полезна при освоении этих языков. Основные примеры в статье приведены на C++. Введение [...]
Управление изменениями и кессонная болезнь проектов
Юрий Удовиченко | 13.02.2011
Юрий Удовиченко делится практическим опытом внедрения систем управления конфигурациями ПО. Какие виды деятельности относятся к «управлению изменениями», как выбирать и внедрять соответствующие инструменты, каких ошибок следует избегать – темы сегодняшней публикации. – Видишь суслика? – Нет… – И я не вижу. А он есть! (с) ДМБ Вступление В рамках любого проекта особняком стоит управление конфигурацией продукта (Software Configuration Management, SCM). С одной стороны, такое управление есть, с другой стороны, немалая [...]
Agile разрушил мою жизнь
Daniel Markham | 08.10.2010
Есть люди, которых достал Agile. Почему? Разве не должен Agile олицетворять тепло, традиции, отчий дом, высокое качество? Откуда столько гнева? Пришло время быть честными. Давайте взглянем на себя со стороны. Придуманные истории успеха, синдромы волшебной пули и маленькой золотой медали, противоречивые советы. Что такое настоящий, эффективный Agile?
Навыки элегантного программирования. Часть 2.
Михаил Зускин | 06.10.2010
«И назвал Бог свет днем, а тьму ночью.» (Первая книга Моисея). Именование переменных. Мир баз данных: логические уровни, первичные ключи, SQL-операторы, хранимые процедуры. Подходы к разработке: пометка оставшихся проблем, файлы-помощники, модульные тесты. Кладезь практических примеров и рекомендаций.
Навыки элегантного программирования. Часть 1.
Михаил Зускин | 04.10.2010
В самом большом за всю мою карьеру проекте участвовало лишь 3,5 разработчика (менеджер проекта, два штатных разработчика, включая меня, и еще один парень, приходивший на помощь в случае авралов). Ключевым фактором столь высокой эффективности было наличие хорошей библиотеки базовых компонентов (framework). Благодаря ей, мы в основном думали о том, «что» создать, а не «как». Другими словами, мы фокусировались на бизнес-логике продукта, а написание «технического» кода занимало лишь малую часть нашего [...]