Принадлежность кода

Принадлежность кода

Один из худших признаков неправильно функционирующей команды – когда каждый программист возводит стену вокруг своего кода и запрещает другим программистам прикасаться к нему. Я был в местах, где программисты даже запрещали другим смотреть на свой код. Это верный путь к катастрофе.

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

Каждый программист работал над своей системой. Один писал код для системы подачи листов, другой – код для системы сшивания и т. д.

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

Для технологии такое положение дел имело катастрофические последствия. Мне, консультанту, было хорошо видно массовое дублирование кода и разнобой в интерфейсах между модулями. Но никакие аргументы с моей стороны не могли убедить программистов (или представителей бизнеса) изменить подход к работе. Ведь их зарплата была связана с важностью устройств, которыми они занимались.

Поделитесь на страничке

Следующая глава >

Похожие главы из других книг

5 Воины кода

Из книги Даркнет: Война Голливуда против цифровой революции автора Ласика Дж Д


3.4.1. Идея открытого кода

Из книги Fedora 8 Руководство пользователя автора Колисниченко Денис Николаевич

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


Просмотр CIL-кода

Из книги Язык программирования С# 2005 и платформа .NET 2.0. [3-е издание] автора Троелсен Эндрю

Просмотр CIL-кода В дополнение к тому, что вы можете видеть пространства имен, типы и их члены в компоновочном блоке. Ildasm.exe дозволяет также просмотреть CIL-инструкции любого члена. Например, если выбрать двойным щелчком метод Main() класса CalcApp, то появится отдельное окно, в


Разделы программного кода

Из книги Искусство программирования для Unix автора Реймонд Эрик Стивен

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


Анализ CIL-кода

Из книги Искусство программирования для Unix автора Реймонд Эрик Стивен

Анализ CIL-кода Напомним, что компоновочный блок не содержит специфических для платформы инструкций, а содержит независимый от платформы CIL-код. Когда среда выполнения .NET загружает компоновочный блок в память, этот CIL-код компилируется (с помощью JIT-компилятора) в


9.2. Генерация специального кода

Из книги Программирование на языке Ruby [Идеология языка, теория и практика применения] автора Фултон Хэл

9.2. Генерация специального кода Операционная система Unix оснащена несколькими мощными генераторами кода специального назначения, предназначенного для таких целей, как создание лексических анализаторов (tokenizers) и синтаксических анализаторов; они рассматриваются в главе


12.3. Размер кода

Из книги Программирование на языке Пролог для искусственного интеллекта автора Братко Иван

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


12.3. Размер кода

Из книги Разработка приложений в среде Linux. Второе издание автора Джонсон Майкл К.

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


16.5. Измерение покрытия кода

Из книги Идеальный программист. Как стать профессионалом разработки ПО автора Мартин Роберт С.

16.5. Измерение покрытия кода Очень полезно знать, какие части программы не были протестированы, а следовательно, нуждаются в автономных тестах. Иногда и сам инструмент для замера покрытия может обнаружить ошибки. Допустим, в программе есть предложение if, которое «должно»


3.2.1. Принадлежность к списку

Из книги автора

3.2.1. Принадлежность к списку Мы представим отношение принадлежности какпринадлежит( X, L)где X — объект, а L — список. Цель принадлежит( X, L) истинна, если элемент X встречается в L. Например, верно чтопринадлежит( b, [а, b, с] )и, наоборот, не верно, чтопринадлежит b, [а, [b, с] ]


16.1.3. Принадлежность терминала

Из книги автора

16.1.3. Принадлежность терминала Существуют две системные базы данных, используемые для отслеживания зарегистрированных пользователей; utmp применяется для пользователей, зарегистрированных в данный момент, a wtmp является записью всех предыдущих регистраций со времени


Описание кода

Из книги автора

Описание кода Теперь, когда вы знаете описание необходимых команд, можно заняться описанием самого кода программы. И описывать его будем так: сначала указывается адрес памяти (или команда), а потом кратко говорится о том, для чего мы записываем по этому адресу памяти


4 Написание кода

Из книги автора

4 Написание кода В предыдущей книге[13] я подробно описал структуру и природу Чистого Кода. В этой главе будет рассмотрен сам акт написания кода, а также контекст, в котором он происходит.Когда мне было 18 лет, я набирал текст достаточно быстро, но мне приходилось смотреть на


Коллективная принадлежность кода

Из книги автора

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