Комментарии в Python
Меня очень раздражает, что в Пайтоне нет многострочных комментариев. И не говорите, что комментарии можно сделать тройными кавычками (или апострофами), это неудобно. Во-первых, тройные кавычки — не комментарий, а многосточная строка (это ремарка для тех, кто не знает Пайтон), поэтому начинать её приходится на том же уровне, что и текущий код.
Во-вторых, попробуйте в большом списке (list) закомментривать большой кусок. Тройные кавычки тут не подойдут:
mylist = [\
'раз',
'два',
"""'три',
'четыре',"""
'пять'
]
Всем очевидно почему не подойдут? Я не понимаю почему до сих пор в языке нет многострочных комментариев.
А зачем они нужны?
Вертикальный ряд октоторпов выглядит симпатично, а для комментирования и раскомментирования большого блока редактор исходного кода должен предоставлять шоткаты.
Комментарий для besisland.livejournal.com:
Они нужны для того, чтобы комментировать большой кусок кода. Специализированный редактор для Python, наверное, должен. А когда заходишь по SSH на чужую машину и правишь там код через vim, то как мне поступать?
Кроме того, я не пользуюсь специализированными IDE, пишу всё в FAR.
Комментарий для Евгения Степанищева:
Править в vim по SSH код на чужой машине мне видится не очень правильным подходом.
Что же касается использования редактора, не имеющего жизненно важных функций, то предъявлять в связи с этим претензии к языку — всё равно что использовать редактор без подсветки синтаксиса и заявлять, что разработчики языка должны были бы на этот случай требовать написание ключевых слов в верхнем регистре.
Комментарий для Евгения Степанищева:
Ну кагбе :’<,’>s/^/# /
Комментарий для Евгения Степанищева:
что делать в случае вима не подскажу, а для фара рекомендую поставить MBlockEditor
Комментарий для besisland.livejournal.com:
Правильным или нет, такова жизнь.
Я программирую на нескольких языках и мне неудобно пользоваться специализированными IDE. Вторая причина, по которой мне неудобны IDE — скорость. Мне не комфортно. Кроме того, я не считаю функцию группового комментирования жизненно важной.
Т. е. авторы языка какбэ закладывались на то, что на их языке будут программировать только в специализированных IDE?
Комментарий для claimid.com/dmk/:
Ага, спасибо, посмотрю.
Комментарий для netp-npokon.livejournal.com:
Так и знал, что кто-то это скажет, ага :)
Блочные комментарии в VIM? Да запросто, out-of-a-box =)
Встаем в начало строки.
Ctrl+V (*NIX, под Win32 — Ctrl+Q), давим стрелку вниз, сколько требуется.
Shift+i
#
Esc
Комментарий для crazy-coder.livejournal.com:
Нет, у меня в посте не сказано про блочные комментарии в VIM.
А как же Eclipse? Не пробовали или не поравился? Опять же, чудесно можно монтировать удалённые файловые системы по ssh, и редактировать там файлы будто они локальные.
Да, и ещё — считаю в корне неправильным исправление файлов с кодом удалённо, надо исправить их локально, отладить, сделать коммит, зайти по ссш куда надо, и сделать апдейт.
Комментарий для jankkhvej.blogspot.com:
Eclipse пробовал, не понравилось.
Ну мало ли что неправильно :) Иногда необходимо срочно сделать фикс. Обычная у нас процедура довольно длительная: смотри на dev-машине, коммит, сборка пакеты, выкладка на предпродакшн, выкладка в продакшн. Где-то на какой-то стадии могут быть тесты.
Комментарий для Евгения Степанищева:
Для фара есть mblockedit, truetemplates, ещё пара плагинов.
Комментарий для kildor.ya.ru:
Спасибо!
Но это всё равно не отвечает на вопрос почему же в Python нет блочных комментов.
В Python нет блочных комментариев потому, что это снизит читаемость кода. Такая вот субъективная реальность. В С, например, если читаешь код в обычном редакторе без подсветки, то чтобы определить, живая строчка, или нет, надо мотать глазами наверх, отыскивая «/*», который может быть чуть ли не в середине сложной строки. Python, с его отступами, помешан на читаемости, так что блочные комментарии в нём пойдут против основной идеологии.
Вообще, меня это тоже иногда бесит. Когда свой код пишу. А когда чужой читаю — только радует :)
Комментарий для Евгения Степанищева:
Идами я тоже пользоваться не люблю. А говорю вместо того о простом редакторе кода, имеющем базовые, необходимые возможности вроде подсветки синтаксиса или быстрого комментирования/раскомментирования.
Комментарий для astur.net.ru:
О! Спасибо, хорошее объяснение. Плохо только, что отсутствие блочных комментов не решило эту проблему, поскольку есть хак: использовать тройные кавычки/апострофы вместо блочных комментов. Так что отмена блочных комментов проблемы не решило, увы.
Комментарий для Евгения Степанищева:
тройные кавычки — это не совсем хак. Это либо докстринг (когда на своём месте), либо тупое дураццкое ламерство, которое ты классно опустил своим примером.
Вообще, вокруг любого языка есть люди, которым проще всё опошлить «хаками», чем понять особенность языка. Страшно подумать, тот же perl замышлялся, как удобная, легко читаемая альтернатива (тм) для связки bash+sed+awk, а вовсе не как головоломка для гиков. Больше скажу, php замышлялся, как система построения html-шаблонов, что-то вроде Smarty :)
Комментарий для astur.net.ru:
Ну вот реальность такова, что тройными кавычками пользуются как многострочными комментами, а это порождает новые проблемы.
Комментарий для Евгения Степанищева:
Порождает, да. К счастью, мне не приходилось раскапывать такой код, но ты заставил меня задуматься о страшшшном мире за пределами тусовки, уважающей pep8.