Deutsch
Germany.ruФорумы → Архив Досок→ Программирование

Как уменьшить количество изменений в ветке?

895  1 2 3 все
MrSanders коренной житель13.05.23 07:25
NEW 13.05.23 07:25 
в ответ Simple 12.05.23 20:36
Главная ветка теперь называется main ;)

Чуть не поседел. Побежал проверять. Нифига. В версии 2.40.1 от 2023-04-25 всё ещё master. Так что это только богомерзкие гитхабы с гитлабами такой политкорректной хренью занимаются.

И ваще, у меня в предках достаточно крепостных, чтобы я перестал использовать терминологию master-slave :)

P.S. А в Африке живут негры. Нас так в школе учили (c)

#21 
Simple Nothing is f*cked13.05.23 07:35
Simple
13.05.23 07:35 
в ответ MrSanders 13.05.23 07:25

У меня новый проект, там используют наш центральный CI/CD (Magenta CI/CD). Gitlab аз есмь. Bitbucket на VW пока не изменили.

#22 
Simple Nothing is f*cked13.05.23 07:37
Simple
NEW 13.05.23 07:37 
в ответ AlexNek 12.05.23 23:27

Вы себе жизнь только усложняете без нужды. Зачем плодить новые сущности? Структуры - это хорошо правильно, но не стоит это доводить до абсурда.

#23 
AlexNek патриот13.05.23 11:22
AlexNek
NEW 13.05.23 11:22 
в ответ Simple 13.05.23 07:37
Зачем плодить новые сущности?

Какие именно? Как Вы видите проще?

#24 
Simple Nothing is f*cked13.05.23 17:32
Simple
NEW 13.05.23 17:32 
в ответ AlexNek 13.05.23 11:22

Не заводить на каждый чих новую задачу.

#25 
AlexNek патриот13.05.23 19:26
AlexNek
NEW 13.05.23 19:26 
в ответ Simple 13.05.23 17:32
Не заводить на каждый чих новую задачу

С удовольствием так бы и делал. Но хотят обратное. Как найти золотую середину?

Пока получается проще, ничего не менять, что видишь "неопрятным".

#26 
alex445 коренной житель13.05.23 20:40
NEW 13.05.23 20:40 
в ответ AlexNek 13.05.23 19:26

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

#27 
MrSanders коренной житель14.05.23 10:31
NEW 14.05.23 10:31 
в ответ AlexNek 13.05.23 19:26
С удовольствием так бы и делал. Но хотят обратное. Как найти золотую середину?

Кто хочет? Вот кто хочет, тот пусть и объясняет.

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

Обычно договаривались так: косметические изменения (нашёл опечатку, переменная криво названа, комментарий добавить) молча делаются в ветке, с которой ты сейчас работаешь. С найденными ошибками сложнее. Насколько критична ошибка? Как долго я буду работать над текущей веткой? Сколько по времени займёт исправление ошибки?

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

#28 
AlexNek патриот14.05.23 11:13
AlexNek
NEW 14.05.23 11:13 
в ответ MrSanders 14.05.23 10:31
косметические изменения

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

Но фактически да - отсутствует набор правил для правки кода. Вот только как их написать покороче.

#29 
Бесконечный цикл завсегдатай14.05.23 15:17
NEW 14.05.23 15:17 
в ответ AlexNek 14.05.23 11:13

PR и таски создаются для решения реальной проблемы, соответственно, если сомневаешься, то просто занимайся своей проблемой и все. Главный критерий: твой код должен работать и твоя проблема должна быть решена. Либо ты решил проблему, либо нет, все остальное не имеет значения.


Нужно ли делать что-то еще? Это все неформально. Форматирование делается автоматически (если люди не могут сами договориться). Все что не влияет на функциональность можно вполне улучшать (комментарии, доки).


Ну есть еще кое-какие критерии:

- Если не чувствуешь уверенность, например, это чужой проект, то и не надо лишнего ничего делать.

- Если чувствуешь собственность и тебе с этим жить дальше, то вполне можно и даже нужно где-то что-то подправлять, что не относится к задача. Типа просто мимо проходил и решил подправить. Но тут надо знать меру.

- Если это никто не заметит и не оценит и мне это не надо, то я бы вряд ли что-то делал

- Есть куча проектов со своей культурой и правилами, а потому желательно адаптироваться и не пытаться изменить эти правила.

- Частенько ты можешь попросить коллегу сделать нужные тебе изменения в его PR, или наоборот тебя могут попросить внести пару строк. Это если изменения лучше относятся к другому PR, который уже вот-вот запушат в мастера. Ну типа "вставь пару строк логов, я хочу видеть, что там он пишет".


#30 
AlexNek патриот14.05.23 22:08
AlexNek
NEW 14.05.23 22:08 
в ответ Бесконечный цикл 14.05.23 15:17, Последний раз изменено 14.05.23 22:10 (AlexNek)
все остальное не имеет значения.

Ну вот к этому всё и сводится, похоже. хммм


Все что не влияет на функциональность можно вполне улучшать

В этом то и проблема. Функциональность не страдает, но делать низзя.

Было

func1(longNamelongNamelongNamelongNamelongName1, longNamelongNamelongNamelongNamelongName2, longNamelongNamelongNamelongNamelongName3);

Стало

func1(
    longNamelongNamelongNamelongNamelongName1, 
    longNamelongNamelongNamelongNamelongName2, 
    longNamelongNamelongNamelongNamelongName3
);


Если это никто не заметит и не оценит

Еще не встречал чтобы было как то по другому. Ну разве в каких то редких случаях.

#31 
alex445 коренной житель14.05.23 22:51
NEW 14.05.23 22:51 
в ответ AlexNek 14.05.23 22:08
Было
Стало

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

#32 
MrSanders коренной житель15.05.23 07:45
NEW 15.05.23 07:45 
в ответ AlexNek 14.05.23 22:08
В этом то и проблема. Функциональность не страдает, но делать низзя.

Кто это сказал? Он это требование как-то обосновал? Или так, трепанул не подумав? В проекте есть какие-то требования к коду? Максимальную длину строки для читаемости ограничивали?

#33 
AlexNek патриот15.05.23 19:55
AlexNek
NEW 15.05.23 19:55 
в ответ MrSanders 15.05.23 07:45
Он это требование как-то обосновал?

Когда видишь изменения невозможно быстро оценить, что это просто разнос строк. Возможно там были сделаны и еще какие то изменения.

Это же в примере только так просто.


В проекте есть какие-то требования к коду?

Конечно, stylecop даже проверяет совсем дурные правила (типа в строке не должно быть "конечных" пробелов)


Максимальную длину строки для читаемости ограничивали?

Да, но в данном конкретном случае длина меньше допустимой

#34 
alex445 коренной житель16.05.23 00:43
NEW 16.05.23 00:43 
в ответ AlexNek 15.05.23 19:55, Последний раз изменено 16.05.23 00:47 (alex445)

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

#35 
MrSanders коренной житель16.05.23 09:44
NEW 16.05.23 09:44 
в ответ AlexNek 15.05.23 19:55
Когда видишь изменения невозможно быстро оценить, что это просто разнос строк. Возможно там были сделаны и еще какие то изменения.

Познакомь его с параметром "не показывать изменения whitespaces"

Да, но в данном конкретном случае длина меньше допустимой

Жаль. Понятие "так лучше читается" у всех разное, тяжелее спорить.

#36 
MrSanders коренной житель16.05.23 09:47
NEW 16.05.23 09:47 
в ответ alex445 16.05.23 00:43
В системах контроля версий нужно сохранять лишь семантические конструкции,

Тут уже не рука-лицо. Солнышко, сходи, поучись. Глядишь различия между синтаксисом и семантикой выучишь. Потом ещё немного подумаешь, может и дойдёт какую чушь сморозил.

#37 
alex445 коренной житель16.05.23 14:41
NEW 16.05.23 14:41 
в ответ MrSanders 16.05.23 09:44
Познакомь его с параметром "не показывать изменения whitespaces"

Мы уже говорили об этом - этого недостаточно. Правил форматирования слишком много - на все параметров не напасёшься.


Ещё раньше я предлагал, чтобы код сохранялся-загружался автоматически в автоформате, заданном у каждого пользователя и в самой репе. Т.е. загрузил я файл для сравнения с моей версией - всё отформатировалось как у меня на машине. Загрузил кто-то другой - как у него.

#38 
AlexNek патриот16.05.23 20:16
AlexNek
NEW 16.05.23 20:16 
в ответ MrSanders 16.05.23 09:44
Познакомь его с параметром "не показывать изменения whitespaces"

А где он в azure PR?

#39 
MrSanders коренной житель17.05.23 17:21
NEW 17.05.23 17:21 
в ответ AlexNek 16.05.23 20:16, Последний раз изменено 17.05.23 17:22 (MrSanders)

А где azure PR? :)
В github-е кнопочка есть (ну или была, давно не смотрел): https://github.blog/2018-05-01-ignore-white-space-in-code-...

Так-то это простенький параметр git diff-а: -w

#40 
1 2 3 все