Разработчики метят код
От: okon  
Дата: 16.12.19 05:43
Оценка: -2 :)
Замечаю тенденцию последних лет, разработчики любят перекомичивать сделанное другими путем перемещения файлов или какого-нибудь форматирования.
В итоге не всегда понятно кто сделал данный функционал, как вы боретесь с этим явлением, запрещаете перемещение, в комментариях пишете автора или иначе ?
”Жить стало лучше... но противнее. Люди которые ставят точку после слова лучше становятся сторонниками Путина, наши же сторонники делают акцент на слове противнее ( ложь, воровство, лицемерие, вражда )." (с) Борис Немцов
Re: Разработчики метят код
От: alzt  
Дата: 16.12.19 05:47
Оценка: 2 (1) +7
Здравствуйте, okon, Вы писали:

O>Замечаю тенденцию последних лет, разработчики любят перекомичивать сделанное другими путем перемещения файлов или какого-нибудь форматирования.

O>В итоге не всегда понятно кто сделал данный функционал, как вы боретесь с этим явлением, запрещаете перемещение, в комментариях пишете автора или иначе ?

Перемещение файла — это нормальная практика, если при этом структура проекта становится лучше. Если при этом ещё рефакторинг происходит (разделили класс на 2, вытащили не свойственную ему функциональность и т.д.), то вообще замечательно.
Про форматирование в целом тоже. Если это не война пробелов с табами, а кто-то заметил криво выглядящий код и улучшил форматирование, то молодец.
Если нет, то прописывать в код-стайл как надо писать.
А целом действует принцип — "кто последний, тот и папа". Переименовал метод, теперь его поддерживаешь, все вопросы к тебе.
Re[2]: Разработчики метят код
От: okon  
Дата: 16.12.19 05:51
Оценка: -2
Здравствуйте, alzt, Вы писали:

A>Здравствуйте, okon, Вы писали:


O>>Замечаю тенденцию последних лет, разработчики любят перекомичивать сделанное другими путем перемещения файлов или какого-нибудь форматирования.

O>>В итоге не всегда понятно кто сделал данный функционал, как вы боретесь с этим явлением, запрещаете перемещение, в комментариях пишете автора или иначе ?

A>Перемещение файла — это нормальная практика, если при этом структура проекта становится лучше. Если при этом ещё рефакторинг происходит (разделили класс на 2, вытащили не свойственную ему функциональность и т.д.), то вообще замечательно.


Возможно, но мне например порой хочется узнать кто же придумал эту чудесную логику, как в хорошем, так и в плохом смысле.
И в итоге бардак что не разобрать и статистика сильно искажается. Особенно когда завлдится какой-нибудь энтузиаст который начниает много перемещать。
”Жить стало лучше... но противнее. Люди которые ставят точку после слова лучше становятся сторонниками Путина, наши же сторонники делают акцент на слове противнее ( ложь, воровство, лицемерие, вражда )." (с) Борис Немцов
Re: Разработчики метят код
От: Artem Korneev США https://www.linkedin.com/in/artemkorneev/
Дата: 16.12.19 05:55
Оценка: 9 (1) +5
Здравствуйте, okon, Вы писали:

O>В итоге не всегда понятно кто сделал данный функционал, как вы боретесь с этим явлением, запрещаете перемещение, в комментариях пишете автора или иначе ?


Никак не боремся. Не видим в этом проблемы.
Все изменения видны в истории системы контроля версий, если что. Вся история изменений легко видна.
С уважением, Artem Korneev.
Re[3]: Разработчики метят код
От: CreatorCray  
Дата: 16.12.19 06:20
Оценка: 1 (1) +3
Здравствуйте, okon, Вы писали:

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

В P4 был замечательный тул Timelapse, который мог очень просто а главное наглядно показать историю изменений, в новомодных говногитах его очень сильно не хватает.
... << RSDN@Home 1.3.110 alpha 5 rev. 62>>
Re: Разработчики метят код
От: Skorodum Россия  
Дата: 16.12.19 09:21
Оценка:
Здравствуйте, okon, Вы писали:

O>Замечаю тенденцию последних лет, разработчики любят перекомичивать сделанное другими путем перемещения файлов или какого-нибудь форматирования.

O>В итоге не всегда понятно кто сделал данный функционал, как вы боретесь с этим явлением, запрещаете перемещение, в комментариях пишете автора или иначе ?
git log foo/bar.h

1234: Vasya: Reformat code with clang-format
4321: Petay: Add functionality xyz

В чем проблема?
Наверное, можно взять версию до форматирования и на ней посмотреть git blame.
Re[2]: Разработчики метят код
От: okon  
Дата: 16.12.19 10:43
Оценка:
Здравствуйте, Skorodum, Вы писали:

S>Здравствуйте, okon, Вы писали:


O>>Замечаю тенденцию последних лет, разработчики любят перекомичивать сделанное другими путем перемещения файлов или какого-нибудь форматирования.

O>>В итоге не всегда понятно кто сделал данный функционал, как вы боретесь с этим явлением, запрещаете перемещение, в комментариях пишете автора или иначе ?
S>git log foo/bar.h

S>1234: Vasya: Reformat code with clang-format

S>4321: Petay: Add functionality xyz

S>В чем проблема?

S>Наверное, можно взять версию до форматирования и на ней посмотреть git blame.

не обычно такая история

vasyacore/vvv.cpp
1111 Vasya Add file New Functionality
...
2111 Petya removed file

petyacore/ppp.cpp
2222 Petya Add file New Functionality and reformat


Потом имеем файл petyacore/ppp.cpp, и понять что он Made in Vasya становится труднее.
”Жить стало лучше... но противнее. Люди которые ставят точку после слова лучше становятся сторонниками Путина, наши же сторонники делают акцент на слове противнее ( ложь, воровство, лицемерие, вражда )." (с) Борис Немцов
Re[2]: Разработчики метят код
От: okon  
Дата: 16.12.19 10:45
Оценка:
Здравствуйте, Artem Korneev, Вы писали:

AK>Здравствуйте, okon, Вы писали:


O>>В итоге не всегда понятно кто сделал данный функционал, как вы боретесь с этим явлением, запрещаете перемещение, в комментариях пишете автора или иначе ?


AK>Никак не боремся. Не видим в этом проблемы.

AK>Все изменения видны в истории системы контроля версий, если что. Вся история изменений легко видна.

Вот тут пример, как такие кейсы

http://rsdn.org/forum/job/7612207.1
Автор: okon
Дата: 16.12.19
”Жить стало лучше... но противнее. Люди которые ставят точку после слова лучше становятся сторонниками Путина, наши же сторонники делают акцент на слове противнее ( ложь, воровство, лицемерие, вражда )." (с) Борис Немцов
Re[3]: Разработчики метят код
От: Skorodum Россия  
Дата: 16.12.19 11:32
Оценка: +6
Здравствуйте, okon, Вы писали:

O>не обычно такая история


O>vasyacore/vvv.cpp

O>1111 Vasya Add file New Functionality
O>...
O>2111 Petya removed file

O>petyacore/ppp.cpp

O>2222 Petya Add file New Functionality and reformat

O>Потом имеем файл petyacore/ppp.cpp, и понять что он Made in Vasya становится труднее.

Petya должен был использовать git mv
Re[3]: Разработчики метят код
От: PM  
Дата: 16.12.19 11:45
Оценка:
Здравствуйте, okon, Вы писали:

AK>>Никак не боремся. Не видим в этом проблемы.

AK>>Все изменения видны в истории системы контроля версий, если что. Вся история изменений легко видна.

O>Вот тут пример, как такие кейсы


O>http://rsdn.org/forum/job/7612207.1
Автор: okon
Дата: 16.12.19


TortoiseGit показывает изменения для каждой строки кода в файле: https://tortoisegit.org/docs/tortoisegit/tgit-dug-blame.html
Re[4]: Разработчики метят код
От: se_sss  
Дата: 16.12.19 11:48
Оценка:
Здравствуйте, CreatorCray, Вы писали:

CC>Здравствуйте, okon, Вы писали:


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

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

Для Visual Studio есть плагин CodeLineage.
Не дотягивает по удобству, но лучше, чем ничего.
Re[4]: Разработчики метят код
От: okon  
Дата: 16.12.19 12:39
Оценка:
Здравствуйте, PM, Вы писали:

PM>Здравствуйте, okon, Вы писали:


AK>>>Никак не боремся. Не видим в этом проблемы.

AK>>>Все изменения видны в истории системы контроля версий, если что. Вся история изменений легко видна.

O>>Вот тут пример, как такие кейсы


O>>http://rsdn.org/forum/job/7612207.1
Автор: okon
Дата: 16.12.19


PM>TortoiseGit показывает изменения для каждой строки кода в файле: https://tortoisegit.org/docs/tortoisegit/tgit-dug-blame.html


Внимательно смотрел сообщение ? При создании нового файла данная информация пропадает
”Жить стало лучше... но противнее. Люди которые ставят точку после слова лучше становятся сторонниками Путина, наши же сторонники делают акцент на слове противнее ( ложь, воровство, лицемерие, вражда )." (с) Борис Немцов
Re[4]: Разработчики метят код
От: Skorodum Россия  
Дата: 16.12.19 12:40
Оценка:
Здравствуйте, PM, Вы писали:

PM>TortoiseGit показывает изменения для каждой строки кода в файле: https://tortoisegit.org/docs/tortoisegit/tgit-dug-blam"e.html

Это стандартный git blame.
Re[3]: Разработчики метят код
От: std.denis Россия  
Дата: 16.12.19 12:48
Оценка: +1
O>vasyacore/vvv.cpp
O>1111 Vasya Add file New Functionality
O>...
O>2111 Petya removed file

O>petyacore/ppp.cpp

O>2222 Petya Add file New Functionality and reformat

просто петя – дурак, и ему нужно навалять в курилке объяснить, чтобы он сделал хотя бы mv + reformat одним коммитом, а потом add new functionality
Re[4]: Разработчики метят код
От: okon  
Дата: 16.12.19 13:07
Оценка:
Здравствуйте, std.denis, Вы писали:

O>>vasyacore/vvv.cpp

O>>1111 Vasya Add file New Functionality
O>>...
O>>2111 Petya removed file

O>>petyacore/ppp.cpp

O>>2222 Petya Add file New Functionality and reformat

SD>просто петя – дурак, и ему нужно навалять в курилке объяснить, чтобы он сделал хотя бы mv + reformat одним коммитом, а потом add new functionality


да вроде не дурак и думаю даже знает о этих функциях, поэтому я и написал “метить код”. подобные случаи возникают не однократно сложилось впечатление что это порой делают намеряно, мотив не совсем понятен кроме как иммитация бурной деятельности.
вопрос изначально как это все регулировать, интересно как это решают в других командах без потрясений и боли.
запрещают операции типа remove ? выглядит слишком не эффективно. Угрозой наказания/увольнений "не делай так, а то снег в башка попадет” — тоже как-то деструктивно.
”Жить стало лучше... но противнее. Люди которые ставят точку после слова лучше становятся сторонниками Путина, наши же сторонники делают акцент на слове противнее ( ложь, воровство, лицемерие, вражда )." (с) Борис Немцов
Re[4]: Разработчики метят код
От: Zhendos  
Дата: 16.12.19 13:20
Оценка:
Здравствуйте, Skorodum, Вы писали:

S>Здравствуйте, okon, Вы писали:


O>>не обычно такая история


O>>vasyacore/vvv.cpp

O>>1111 Vasya Add file New Functionality
O>>...
O>>2111 Petya removed file

O>>petyacore/ppp.cpp

O>>2222 Petya Add file New Functionality and reformat

O>>Потом имеем файл petyacore/ppp.cpp, и понять что он Made in Vasya становится труднее.

S>Petya должен был использовать git mv

Это не обязательно, git определяет перемещения по хэшу, и сделали вы "mv" или "git mv"
не важно. Но нужно конечно использовать "git log --follow file"
Re[5]: Разработчики метят код
От: okon  
Дата: 16.12.19 13:47
Оценка:
Z>Это не обязательно, git определяет перемещения по хэшу, и сделали вы "mv" или "git mv"
Z>не важно. Но нужно конечно использовать "git log --follow file"
Вот это интересная опция, а с переименованием файла она работает ?
”Жить стало лучше... но противнее. Люди которые ставят точку после слова лучше становятся сторонниками Путина, наши же сторонники делают акцент на слове противнее ( ложь, воровство, лицемерие, вражда )." (с) Борис Немцов
Re[4]: Разработчики метят код
От: Faland США  
Дата: 16.12.19 14:20
Оценка:
Здравствуйте, CreatorCray, Вы писали:

CC>Здравствуйте, okon, Вы писали:


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

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

Хм, давно не работал с Гитом, но это ж базовый тул любой VCS, неужто нет нормального GUI на базе git blame? А то у нас контора как раз массово переходит с P4 на Гит в след году.... P4 Timelapse за секунды позволяет найти кто написал тот или иной код, рефакторинг и прочие чистки легко проматываются и смотришь на предыдущие версии.
https://github.com/JonathanAquino/git-time-lapse-view, хотя бы что-то типа такого я б ожидал в любом нормальном GUI для Гита...
Re: Разработчики метят код
От: Anonymous123 Чехия  
Дата: 16.12.19 14:44
Оценка: :))
Здравствуйте, okon, Вы писали:

O>Замечаю тенденцию последних лет, разработчики любят перекомичивать сделанное другими путем перемещения файлов или какого-нибудь форматирования.

O>В итоге не всегда понятно кто сделал данный функционал, как вы боретесь с этим явлением, запрещаете перемещение, в комментариях пишете автора или иначе ?

У меня в команде некоторые разработчики метят код путем переименования переменных в в венгерскую нотацию и вводят много временных переменных типа sTmp. Видя такой код, я сразу знаю, кто это написал
Re[5]: Разработчики метят код
От: Skorodum Россия  
Дата: 16.12.19 14:52
Оценка: +3
Здравствуйте, okon, Вы писали:

O>вопрос изначально как это все регулировать, интересно как это решают в других командах без потрясений и боли.

Одно логическое действие — один коммит
Все декоративные действия типа форматирования/переименования всегда в отдельные коммиты.
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.