Как можно модернизировать Восемь заповедей контроля исходного кода?

Как это обновить? Я никогда не видел нынешней команды, которая действительно «проверяет» файл. Я тоже не компилирую. Кажется, что это еще до времен ветвления.

  1. Вы должны заселиться пораньше и проверить часто. Вы злитесь на своих коллег когда вы проверяете файл и настаиваете держать это проверено, пока некоторые будущий момент времени, то есть измеряется с использованием переменных, которые существуют исключительно в вашем мозгу.
  2. Вы должны никогда не проверяйте код, который нарушает строить. Если ваш код не компилируется, это не принадлежит источнику репозиторий управления.
  3. Ты не пойдешь дома на день с проверенными файлами выходите, и вы не должны уходить выходные или в отпуск, с файлы извлечены.
  4. Вы должны оставить описательный комментарий при заселении ваш код. Вам не нужно включать имя или дату в комментарии как эта информация уже отслеживается.
  5. Вы должны использовать «Отменить оформление заказа». вариант, если вы извлекаете файл и не вносите никаких изменений. Это вызывает недовольство ваших коллег, когда вы проверьте код, который не изменился совсем не из оригинала.
  6. Вы должны не использовать комментарии, чтобы "сохранить" несуществующий код. Не бойся, за код, который ты удалить все еще существует в источнике управлять историей кода и может быть извлекается при необходимости.
  7. Вы должны использовать контроль версий более чем архивирование только кода. Исходный код репозиторий управления делает отличное хранилище для технических документы, сценарии SQL и другие документы и файлы, относящиеся к проект.
  8. Вы должны религиозно резервное копирование исходного кода база данных на регулярной основе и хранить копию вне сайта расположение.

От http://scottonwriting.net/sowblog/posts/13581.aspx

Вы думаете, что они устарели? Если да, объясните, пожалуйста, что с ними не так.

Jonas Kongslund 15.11.2008 06:41
Стоит ли изучать PHP в 2023-2024 годах?
Стоит ли изучать PHP в 2023-2024 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Приемы CSS-макетирования - floats и Flexbox
Приемы CSS-макетирования - floats и Flexbox
Здравствуйте, друзья-студенты! Готовы совершенствовать свои навыки веб-дизайна? Сегодня в нашем путешествии мы рассмотрим приемы CSS-верстки - в...
Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для...
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
4
1
483
7
Перейти к ответу Данный вопрос помечен как решенный

Ответы 7

Что тут «модернизировать»? Я не вижу ничего, что связано с COBOL или Ada ...

Зачем им необходимость модернизировать? Они выглядят так же актуально сейчас, как и в день написания, ИМХО.

Поскольку большинство современных систем управления исходным кодом допускают возможность одновременных проверок, я вижу, где можно ослабить (3), хотя по-прежнему рекомендуется проверять ночью, чтобы получить резервную копию. TFS позволяет вам откладывать ожидающие изменения, чтобы вы могли сохранить свои изменения, не проверяя их, когда ваш код нарушает сборку, но вы хотите проверить, прежде чем уйти ночью.

Выполняете ли вы оформление заказа или нет, это зависит от используемой вами системы контроля версий (VCS). Если вы используете SCCS (старая школа, но часть Single Unix Specification), или если вы используете Atria ClearCase (от IBM Rational), то блокировка проверки является частью жизни. В более современных системах, когда вы создаете рабочую песочницу, вы эффективно выполняете проверку, но это неблокирующая проверка, которая не мешает другим вносить одновременные изменения с одной и той же начальной точки.

Вы говорите, что не компилируете ... Бьюсь об заклад, ваш код прочитает какая-то программа, а затем начнет действовать. Perl не имеет отдельного компилятора как такового, но имеет этап компиляции. Сценарии оболочки читаются и проверяются. Аналогично Python и Ruby. Современная форма правила, возможно, гласит:

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

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

Все остальные пункты кажутся действительными для Git, SVN, CVS или ... так же, как и для SCCS или ClearCase.

Ответ принят как подходящий

Непрерывная интеграция.

  1. Поддерживать единый исходный репозиторий
  2. Автоматизировать сборку
  3. Сделайте свою сборку самотестирующейся
  4. Все совершают каждый день
  5. Каждая фиксация должна строить основную линию на машине интеграции
  6. Держите сборку быстро
  7. Тест в клоне производственной среды
  8. Сделайте так, чтобы любой мог получить последнюю версию исполняемого файла
  9. Все могут видеть, что происходит
  10. Автоматизировать развертывание

Вы не должны идти домой на день с проверенными файлами, вы не должны уезжать на выходные или в отпуск с проверенными файлами.

Вы должны использовать опцию «Отменить оформление», если вы извлекаете файл и не вносите никаких изменений. Коллегам не нравится, когда вы регистрируете код, который вообще не изменился по сравнению с исходным.

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

Если вам нужно беспокоиться о любом из них, ваш SCM полон отказов. Получите лучший.

В остальном это довольно неплохие идеи ...

Какая система SCM не требует резервного копирования - в той или иной форме? Если ваш ответ заключается в том, что это делает DVCS (распределенная система контроля версий), вы должны убедиться, что существует достаточное количество копий кода, которые на самом деле вам не нужно делать резервные копии.

Jonathan Leffler 16.11.2008 08:32

обновления за 2008 год.

  1. Вы должны совершить раньше и совершить часто. Вы злите своих коллег, когда вы сломать сборку в основной ветке.
  2. Вы никогда не должны регистрировать код что сборщик-бот не принимает.
  3. Ты сегодня не пойдешь домой без объединения вашей ветки с другими
  4. Вы должны оставить описательный комментарий при регистрации кода. Вам не нужно указывать свое имя или дату в комментарии, поскольку эта информация уже отслеживается.
  5. УДАЛЕНО!
  6. Вы не должны использовать комментарии для «сохранения» несуществующего кода. Не бойтесь, потому что код, который вы удаляете, все еще существует в истории кода системы управления версиями и может быть получен при необходимости.
  7. Вы должны использовать систему контроля версий не только для архивирования кода. Репозиторий управления исходным кодом является отличным хранилищем для технической документации, сценариев SQL и других документов и файлов, связанных с проектом. Вы даже можете использовать систему контроля версий в своих документах OpenOffice с помощью подключаемого модуля SVN.
  8. Вы должны неукоснительно зеркалируйте свою ветку на резервном сервере.

Другие вопросы по теме