Что такое некоторые лучшие методы SCM?

abs () объявлен в заголовке cmath. Итак, если вы хотите использовать abs (), вам необходимо включить в свой код cmath, например:

#include 
#include 
using namespace std;

int main()
{
    float someVariable = abs(-4.22);
    cout << someVariable;
}

следующим образом:

double abs (double x);
float abs (float x);
long double abs (long double x);
double abs (T x);           // additional overloads for integral types

Ссылка: http://www.cplusplus.com/reference/cmath/abs/

5
задан vrish88 24 March 2009 в 00:52
поделиться

9 ответов

Так как Вы используете мерзавца, вот некоторые мои методы, которые могут или не могут работать на Вас:

  1. Всегда работайте в локальном ответвлении с описательными именами, скажите work/feature_name (использующий потрясающее завершение удара для мерзавца, чтобы помочь Вам ввести)
  2. Фиксация так часто, как Вы хотите в локальных ответвлениях с краткими комментариями (к намерениям документа для напоминания себе.), Таким образом, у Вас есть полная исходная история мысли/разработки, к которой можно вернуться.
  3. Прежде чем Вы будете продвигать/публиковать фиксации/патчи, будете создавать pu (предложенные обновления) ответвление (контроль мерзавца-b pu/feature_name) от Вашего ответвления работы и будете использовать-i переосновы мерзавца для создания идеальных фиксаций, т.е. группа связала маленькие фиксации (и/или разделите большие фиксации) в к логическим фиксациям и пишут, что значимые описания (для других и Вас) удостоверяются каждая логическая фиксация сборки, и передает регрессии.
  4. Опубликуйте свой pu/feature_name (или просят, чтобы люди вытянули или просто продвинули к общедоступному серверу как GitHub.)
  5. Вероятно, что необходимо будет выполнить итерации до 3 и 4 несколько раз, если у Вас будет процесс рассмотрения кода.

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

5
ответ дан 18 December 2019 в 09:53
поделиться

Я знаю о двух защитимом и обычно опытном использовании питания фиксировать:

  • Мелкозернистые фиксации, где Вы фиксируете рано, часто фиксируют, и в маленьких блоках. Система не может быть в хорошем состоянии в каждой фиксации. Главное преимущество этой практики - то, что Вы получаете очень четкое представление о том, что было изменено и когда, и с системой как darcs или командой как git-rebase у Вас есть шанс при "избирательном подходе к выбору" фиксаций, которые интересуют Вас.

  • Надежные фиксации, где Вы фиксируете только, когда система находится в твердом теле, например, это не только, создают, но также и передают регрессионные тесты.

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

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

3
ответ дан 18 December 2019 в 09:53
поделиться

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

Затем, когда я, имеют что-то готовое для продвижения в восходящем направлении (т.е. протестированный, зарегистрированный и т.д.) Я продвигаю как единственная фиксация, избегая помехи в центральном repo. Лучший из обоих миров.

3
ответ дан 18 December 2019 в 09:53
поделиться

Проверьте ПРАКТИЧЕСКОЕ РУКОВОДСТВО Управления исходным кодом от Eric Sink. В прошлый раз, когда я прошел его, это было сфокусировано главным образом на централизованном VCS, но существует все еще много хороших вещей там.

2
ответ дан 18 December 2019 в 09:53
поделиться
  • Фиксируйте рано, часто фиксируйте.
  • Сохраните фиксацию маленькой. Если фиксация является большой, попытайтесь сломать ее, где она имеет смысл.
  • Не взламывайте код. Каждая фиксация должна сохранить код в исправном состоянии.
  • Попытайтесь включать намерение в сообщение о фиксации вместо только "какой".
  • Не комментируйте коды. Удалите их вместо этого.
  • Используйте ответвление для экспериментального или потенциально кодируйте повреждающиеся изменения.
  • Отметьте свою поставленную версию.
2
ответ дан 18 December 2019 в 09:53
поделиться

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

Что касается сообщения о фиксации, я перечислю добавленную функциональность для новой возможности. Для исправления ошибки я включаю идентификатор ошибки от нашей базы данных ошибки.

1
ответ дан 18 December 2019 в 09:53
поделиться

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

Но для больших проектов со многими разработчиками, это imo важный для

  • Всегда указывайте номер выпуска (может быть осуществлен с любым хорошим SCM),
  • Подавите количество фиксаций
  • Только фиксируйте работать код
  • Только фиксируйте код, который лучше, чем код был прежде
  • Чистый код фиксации (т.е. не оставляют тестовый код, старый прокомментированный код и т.д. позади),
  • Запишите не только "зафиксированный выпуск X" как комментарий, но и утверждение большего количества информации об ошибке/изменениях, например, "зафиксированный выпуск X, где панель расширилась бы вне размера окна".

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

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

/B

1
ответ дан 18 December 2019 в 09:53
поделиться

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

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

0
ответ дан 18 December 2019 в 09:53
поделиться

Для персональных проектов я склонен делать фиксации так же часто столь практичными, который может быть пару раз часом, как это позволяет мне возвращаться вовремя к предыдущему "снимку", когда я понимаю, что спускался по неправильному маршруту.

Для многопользовательских проектов это будет зависеть от правил, Вы не можете фиксировать что-то, пока Вы не достигли тех целей. Лично я склонен фиксировать, когда я могу записать, что комментарий вроде "исправляет этот билет", или "реализует эту функциональность".

Что касается комментариев, я поместил сводку изменений или ссылку Wiki или билет. Код и таким образом разность должны быть зарегистрированы достаточно для сообщения подробностей.

0
ответ дан 18 December 2019 в 09:53
поделиться