В каком порядке завершение класса поставило свои результаты?
-
22-08-2019 - |
Вопрос
Пример: я создаю новый блок, объявляю класс несколькими методами, такими как Constructor, Destructor, Method1, Method2, Method3 в этом порядке, а затем нажимаю Ctrl-Shift-C. IDE автоматически создает все тела метода, но порядок смешивается, а не так, как он был объявлен в разделе интерфейса.
Теперь это не проблема, но есть ли причина для этого. Кажется, что это сложнее смешать, чем просто сделать это в порядке декларации.
Или есть какое -то правило, которое имеет смысл, которого я не вижу?
Решение
Это немного сложно ответить, поскольку это зависит от того, как ваши методы уже расположены.
Если они уже реализованы в алфавитном порядке, это попытается сохранить это. Если IDE не может сделать вывод какого -либо порядка, он прибегает к тому, чтобы сбрасывать их в конце файла.
Есть еще одна морщинка, где, по соглашению, если вы включите комментарий в форме: {u003CClassName> } Перед первым блоком реализованного метода, а затем используйте этот комментарий, чтобы определить все последующие реализации класса, он попытается сгруппировать методы.
Алфавитное упорядочение следует те же правила выше, за исключением того, что оно может ввести новые методы в этот логический блок, очерченный указанным комментарием.
Если вы используете завершение класса с совершенно новым классом, вы заметите, что IDE автоматически генерирует этот разграниченный комментарий.
Если вы позволите завершить классы автоматическим методам и используйте только Ctrl+Сдвиг+Унар Ключ для перемещения между реализацией метода и объявлением, упорядочение должно быть менее важным.
Как правило, я перейду к классу, используя вышеуказанную последовательность ключей, затем использую клавиши со стрелками, чтобы перейти к методу в Declie, который я хочу, а затем снова использовать эту последовательность ключей, чтобы быстро добраться до него.
Еще одна хорошая последовательность ключей-это Ctrl+Альт+Унар или же Ctrl+Альт+Днар который быстро перепрыгнет из метода IMP в Method Impr в порядке файла.
Другие советы
По умолчанию я почти уверен, что он пытается создать их в алфавитном порядке по имени метода, а затем пытается сохранить это, когда впоследствии добавляется больше методов с использованием того же метода. Конечный результат может быть немного случайным миксом при упорядочении.
Исходя из моего опыта, я обнаружил, что иногда IDE создает методы в алфавитном порядке, но в других случаях он просто добавляет новые методы к окончанию файла.
IDE пытается создать все в альпахетическом порядке. Но, если методы становятся вне последовательности (например, вы переименуете метод), они попадают в путаницу. Точное поведение, кажется, зависит от версии. Старые версии просто добавят новый метод к концу файла в любом порядке. Более новые версии кажутся немного умнее, но я еще не выяснил, как.