Просмотр полной версии : FD и баг с //
Заметил что редактор FD (версия 3.3.1 RTM) не совсем корректно реагирует на то, что идет после комментария //
например если свернуть эту функцию
private function fun() {
//}
//la-la-la
}
, то она свернется до строки //}
А такая ситуация может встречаться довольно часто, например если временно нужно тестировать без проверки:
private function fun() {
//if(check()){
code;
//}
//la-la-la
}
Вообще, это какой-то общий косяк редакторов. Особенно раздражает работа с многострочными комментариям:
Например:
/*var str:String = "многострочные комментарии выглядят так /* */";*/
Понятно, что можно экранировать и все будет хорошо, но разве было бы не логично - не засчитывать эти сочетания внутри кавычек (или других комментов). В Visual Studio ведет себя не лучше. Делал как-то в универе лабу, по удалению комментов. При этом повозился чтобы учитывать (точнее не учитывать) и кавычки и предыдущие знаки комментария, а когда стал проверять - оказалось зря, ибо VisualStudio халтурит.
Потому что комментируют комментарии, а не неработающий код :)
:)
а если это такой комментарий, мол "а если расскоментите эти строки, то появятся такие крутые возможности"
Ну так если класс что-то умеет, то флаг должен быть что-то вроде enableSuperFeature:Boolean = true/false.
Заметил что редактор FD (версия 3.3.1 RTM) не совсем корректно реагирует на то, что идет после комментария //
например если свернуть эту функцию
private function fun() {
//}
//la-la-la
}
Только что проверил, сворачивает нормально. (FD 3.2.2 RTM). Может стоит уже обновить ФД?
Ну так если класс что-то умеет, то флаг должен быть что-то вроде enableSuperFeature:Boolean = true/false.
ну ладно, ладно убедил. Но комментить код - всё равно приятно)
Только что проверил, сворачивает нормально. (FD 3.2.2 RTM)
Спасибо, при случае обновлюсь
Но FD 3.3.1 выше чем FD 3.2.2 ! Куда же обновляться? )
Это баг Scintilla, а не FD.
Надо, либо оборачивать в /* */, либо использовать ///, а не //.
Но FD 3.3.1 выше чем FD 3.2.2 ! Куда же обновляться? )
зоркий глаз!) а я и не заметил, показалось речь о 3.3.2
Это баг Scintilla, а не FD.
Надо, либо оборачивать в /* */, либо использовать ///, а не //.
Спасибо.
зоркий глаз!) а я и не заметил, показалось речь о 3.3.2
Речь именно о 3.3.2 RTM, я просто опечатался.
Скачал ее 2 недели назад с офсайта
Psycho Tiger
04.02.2011, 14:59
/*var str:String = "многострочные комментарии выглядят так /* */";*/
Не понял, что здесь парсится не так.
Потому что комментируют комментарии, а не неработающий код
Я достаточно редко удаляю код. В процессе разработки и отладки куда более практично комментировать куски кода (ctrl+q моё всё), чтобы если что можно было взять уже готовое.
Я достаточно редко удаляю код. В процессе разработки и отладки куда более практично комментировать куски кода (ctrl+q моё всё), чтобы если что можно было взять уже готовое.
Я про случай когда:
"а если это такой комментарий, мол "а если расскоментите эти строки, то появятся такие крутые возможности"
А потом такие куски кода забывают, коммиттят, и через пол года такой практики проект состоит на 40% из закоменторованного кода.
/*var str:String = "многострочные комментарии выглядят так /* */";*/
Не понял, что здесь парсится не так.
Считаю, что комбинации не имеющие отношения к оформлению строки, внутри кавычек должны интерпретироваться как символы. А так получается:
";*/
Я про случай когда
не надо трали-вали) Этот случай появился уже после комента:
Потому что комментируют комментарии, а не неработающий код
и появился сумбурно и не обдуманно, в чем я уже чистосердечно признался. В первом посте говорилось как раз про то, о чем говорит Psycho Tiger
А такая ситуация может встречаться довольно часто, например если временно нужно тестировать без проверки
Psycho Tiger
04.02.2011, 15:21
Считаю, что комбинации не имеющие отношения к оформлению строки, внутри кавычек должны интерпретироваться как символы.
А так и есть. Комментарий это всё, что между /* и */.
/*var str:String = "многострочные комментарии выглядят так /* */";*/
А потом такие куски кода забывают, коммиттят, и через пол года такой практики проект состоит на 40% из закоменторованного кода.
Это плохо?
А так и есть. Комментарий это всё, что между /* и */.
/*var str:String = "многострочные комментарии выглядят так /* */";*/
да, но почему "*/" (знак закрывающего комментария в кавычках) - считается комментарием, если это строка?
"//" - комментарием же не считается и "/*" -тоже не считается
Psycho Tiger
04.02.2011, 16:03
???
http://*************/s/KQWG
Это плохо?
Если с проектом работают много разработчиков и классы постоянно обновляются/изменяются, то через пол года проект с разкомментированным куском кода может просто не скомпилироваться из-за добавления схожих полей класса или методов, или пропажи каких либо статичных переменных. И это ещё пол беды, а если появятся баги сразу не заметные? Потом ещё и время тратить на их поиски.
Фишки должны отключатся флагами или складываться в модули/библиотеки легко подключаемые, а не копится в коде с кучей комментариев аля "Не удалять!! Я так долго писал! Оч крутая штука!"
Psycho Tiger
04.02.2011, 17:01
Если с проектом работают много разработчиков и классы постоянно обновляются/изменяются, то через пол года проект с разкомментированным куском кода может просто не скомпилироваться из-за добавления схожих полей класса или методов, или пропажи каких либо статичных переменных. И это ещё пол беды, а если появятся баги сразу не заметные? Потом ещё и время тратить на их поиски.
Обычно нужный код незакоментированный, а ненужный закомментированный. Код-комментарий я пропускаю мимо глаз, но при нужде я вижу — ага, так кто-то делал, но не получилось.
Я не говорю что куча неиспользуемого кода в комментариях это хорошо. Если это и плохо, то чуть-чуть. По мне даже плюс.
Фишки должны отключатся флагами или складываться в модули/библиотеки легко подключаемые, а не копится в коде с кучей комментариев аля "Не удалять!! Я так долго писал! Оч крутая штука!"
Это оборотная сторона медали. Это может быть оптимизация сомнительной ценности, которую не мешало бы ещё проверить (комментарий с todo), а может "uncomment and enlarge your penis". Если "фишки" отвечают за "фишку", которая попадет в продакшн — то да. А если это глупости разработчиков/костыли и всё такое, то нет.
У всяких фишек я ставлю коммент /// TEMP (по аналогии с /// TODO), он попадает в Tasks. И когда все уже отлажено и готовится к релизу, я прохожу по таскам и удаляю не нужный хлам.
Работает на vBulletin ® версия 3.7.3. Copyright ©2000-2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Copyright © 1999-2008 Flasher.ru. All rights reserved.