В новом проекте с новой командой, должны ли мы принудительно сортировать членов классов автоматически в определенном порядке (например, по модификатору и алфавиту) перед регистрацией?
Альтернативой являетсяпусть каждый разработчик группирует участников так, как думает.И поскольку у каждого свое мнение о том, что связано и как должна быть группировка, это в значительной степени сводится к случайному порядку.
Итак, каковы плюсы и минусы их автоматической сортировки?Это связано с конкретной средой разработки / процессом разработки / процессом сборки / языком?Что еще мы должны рассмотреть?
Изменить, чтобы получить больше ответов:
Однажды я был в проекте, где нам нужно было поддерживать несколько ветвей.Из-за неспособности RCS поддерживать это должным образом (SVN к тому времени), нам пришлось вручную перемещать классы и методы из одной ветви в другую и затем снова объединяться (большинство RCS может поддерживать отношение подмножество-надмножество только в одномнаправление).Поскольку методы могут появляться в любом месте класса в любом порядке, объединение было кошмаром.Применение автоматической сортировки элементов с самого начала позволило бы избежать многих трудностей.
С другой стороны, если вы работаете в длинном существующем проекте без автоматического порядка сортировки, это может быть плохой идеей для принудительного применения этого.Перемещение всех участников в целом аналогично выбрасыванию версий до этого момента, потому что сравнение файлов со старыми версиями через diff больше не будет хорошо по той же причине, по которой объединение в другом проекте было проблемой.
То же самое касается рефакторинга.Когда методы переименованы, они также будут перемещены, что делает различие двух версий практически бессмысленным.С разными именами и разными местами трудно снова распознать методы.