В принципе, недостижимый код обнаруживается путем анализа программы статически без , фактически выполняющего код. Пока условие будет проверено в времени выполнения . Таким образом, когда этот анализ имеет место, он фактически не смотрит в это условие, а просто проверяет доступность break;
( достижимый ) через if
.
Вы можете добавить 'set spell' в ваш файл .vimrc, чтобы Vim автоматически проверял орфографию всех документов, включая ваши сообщения git commit. Vim достаточно умен, чтобы проверять орфографические комментарии и строки, игнорируя при этом ваш исходный код.
В зависимости от вашей цветовой схемы, это может раздражать, если вы видите имена переменных в ваших комментариях и строки, выделенные как слова с ошибками.
См. этот вопрос о стекопереработке для более подробной информации о проверке орфографии.
Удобный способ сделать это с помощью плагина vim filetype .
Это позволит вам разместить зависимые от типа файла конфигурации / сопоставления в отдельном файле (см., Например, мои .vim/ftplugin/gitcommit.vim
)
. ] и разместите там свои пользовательские конфигурации.
Обычно это можно сделать с помощью autocmd ( au BufNewFile, BufRead COMMIT_EDITMSG setlocal spell
), но в последних версиях vim уже есть тип файла, назначенный для сообщений коммита git, так что вместо этого вы можете создать файл ~ / .vim / ftplugin / gitcommit.vim
и поместить в него:
if exists("b:did_ftplugin")
finish
endif
let b:did_ftplugin = 1 " Don't load twice in one buffer
setlocal spell
и убедиться, что у вас есть плагин типа файла на
в вашем .vimrc. Это немного больше работы, но это упрощает добавление настроек в будущем. :)
Итак, описанный вами сценарий заключается в том, что вам нужно поместить кучу данных на карту, а затем, когда вы закончите ее заполнение вы относитесь к нему как к неизменному. Один из подходов, который является «безопасным» (то есть вы обеспечиваете, чтобы он действительно считался неизменным), - это заменить ссылку на Collections.unmodifiableMap (originalMap)
, когда вы будете готовы сделать его неизменяемым.