используете ли вы goto?
От: kot2009  
Дата: 05.03.09 11:49
Оценка:
Вот задумался на эту тему. Используете ли вы этот оператор? Я вот практически ни разу его не юзал. И ни у кого в коде его не встречал. Но как ни странно в C# и других языках он остался, спрашивается зачем?

05.03.09 16:13: Перенесено модератором из 'О жизни' — Хитрик Денис
Re: используете ли вы goto?
От: Mr.Cat  
Дата: 05.03.09 11:55
Оценка:
Здравствуйте, kot2009, Вы писали:
K>зачем?

Полагаю, для автоматически генерируемого кода (например, на выходе Coco/R goto используется).
Re: используете ли вы goto?
От: Mishka Норвегия  
Дата: 05.03.09 12:15
Оценка:
Здравствуйте, kot2009, Вы писали:

K>Вот задумался на эту тему. Используете ли вы этот оператор? Я вот практически ни разу его не юзал. И ни у кого в коде его не встречал. Но как ни странно в C# и других языках он остался, спрашивается зачем?


Использую, поскольку пишу на VBA. Но вопрос этот из темы каким лучше молотком заколачивать гвозди квадратным или круглым. Whatever does the job
Goto не рекомендуют использовать, поскольку тяжело будет поддерживать программу, но на самом деле, когда у тебя их 2-3 погоды это не делает. Ну и потом всегда есть фигня вроде:
For ...
   For...
      For...
          хочу выйти из всех циклов
      Next
   Next
Next
Re: используете ли вы поиск по форуму?
От: Erop Россия  
Дата: 05.03.09 12:21
Оценка:
Здравствуйте, kot2009, Вы писали:

K>Вот задумался на эту тему. Используете ли вы этот оператор? Я вот практически ни разу его не юзал. И ни у кого в коде его не встречал. Но как ни странно в C# и других языках он остался, спрашивается зачем?


Тема тут много раз обсуждалась... Смотри в КСВ

Да, я давно уже не использовал, но один подчинённый недавно использовал и по делу...
Все эмоциональные формулировки не соотвествуют действительному положению вещей и приведены мной исключительно "ради красного словца". За корректными формулировками и неискажённым изложением идей, следует обращаться к их автором или воспользоваться поиском
Re[2]: используете ли вы goto?
От: elmal  
Дата: 05.03.09 12:22
Оценка:
Здравствуйте, Mishka, Вы писали:

M>Использую, поскольку пишу на VBA. Но вопрос этот из темы каким лучше молотком заколачивать гвозди квадратным или круглым. Whatever does the job

M>Goto не рекомендуют использовать, поскольку тяжело будет поддерживать программу, но на самом деле, когда у тебя их 2-3 погоды это не делает. Ну и потом всегда есть фигня вроде:
Даже на VBA лучше не использовать. Если для обработки исключений, то лучше оборачивать в on error resume next, далее вызов ОДНОГО метода, и далее анализ объекта err.
Для выхода из нескольких циклов сразу рулит стандартное решение — выделение циклов в один метод и return.
Re: используете ли вы goto?
От: peterbes Россия  
Дата: 05.03.09 12:41
Оценка:
Здравствуйте, kot2009, Вы писали:

K>Вот задумался на эту тему. Используете ли вы этот оператор? Я вот практически ни разу его не юзал. И ни у кого в коде его не встречал. Но как ни странно в C# и других языках он остался, спрашивается зачем?


этот вопрос задавался столько раз что уже неприлично спрашивать вновь, он перешел в разряд вопросов- как надо писать "в Украине" или "на Украине". Почитай комьпютерный флуд, там имеется по теме дискусс на пару километров
Re[3]: используете ли вы goto?
От: Privalov  
Дата: 05.03.09 17:59
Оценка:
Здравствуйте, elmal, Вы писали:

E>Даже на VBA лучше не использовать. Если для обработки исключений, то лучше оборачивать в on error resume next, далее вызов ОДНОГО метода, и далее анализ объекта err.


В порядке флейма: on error resume next, imho, еще хуже, чем goto. Пару лет назад пришлось разбираться, почему ничего не работает, и в то же время ничего не падает.

Использование этих операторов должно строжайше контролироваться. Административные меры типа постоянного перекрестного code review рулят.
Re[4]: используете ли вы goto?
От: elmal  
Дата: 05.03.09 19:44
Оценка:
Здравствуйте, Privalov, Вы писали:

P>В порядке флейма: on error resume next, imho, еще хуже, чем goto. Пару лет назад пришлось разбираться, почему ничего не работает, и в то же время ничего не падает.

Да, согласен, что хуже, если внутри больше одного метода — за такое убивать надо. В случае, если метод один, и после этого идет обработка err объекта — это практически полный аналог обработки исключений на нормальных языках, отличается только синтаксисом. Тем более, что я с такой красотой встречался в основном на VBScript (если б было допустимо написать на VB, я б лучше на C++ написал), там конструкции on error goto label не было.
А на деле, шас даже на нормальных языках внутри обработки исключений редко допускаю, чтоб больше одного метода было. Мучения с синтаксисом VB — хорошая школа, чтоб понять, как писать нормально поддерживаемый, хорошо читаемый код, очень многим этой школы недостает .
Re: используете ли вы goto?
От: azzx Россия  
Дата: 06.03.09 01:47
Оценка:
Здравствуйте, kot2009, Вы писали:

K>Вот задумался на эту тему. Используете ли вы этот оператор? Я вот практически ни разу его не юзал. И ни у кого в коде его не встречал. Но как ни странно в C# и других языках он остался, спрашивается зачем?


Лично я за то, чтобы признать за ним право на жизнь. Но это случаи настолько редкие...
Сейчас поискал в исходниках своей "либы на разные случаи" — ровно одно вхождение — вложенные циклы.
Re[2]: используете ли вы goto?
От: Sealcon190 Соломоновы острова  
Дата: 06.03.09 08:28
Оценка: +1
Здравствуйте, Mishka, Вы писали:

M>Ну и потом всегда есть фигня вроде:

M>
M>For ...
M>   For...
M>      For...
M>          хочу выйти из всех циклов
M>      Next
M>   Next
M>Next
M>


Циклы убираются в функцию. Красиво, аккуратно и практично. А выход производится через return.
Re: используете ли вы goto?
От: Sealcon190 Соломоновы острова  
Дата: 06.03.09 08:32
Оценка:
Здравствуйте, kot2009, Вы писали:

K>Вот задумался на эту тему. Используете ли вы этот оператор?


Последний раз использовал на бейсике, ещё когда в школе учился.
На плюсах даже не знаю как ЭТО делается, никогда не использовал и у других ни разу не видел.
Re[3]: используете ли вы goto?
От: _d_m_  
Дата: 06.03.09 08:34
Оценка:
Здравствуйте, Sealcon190, Вы писали:

S>Здравствуйте, Mishka, Вы писали:


M>>Ну и потом всегда есть фигня вроде:

M>>
M>>For ...
M>>   For...
M>>      For...
M>>          хочу выйти из всех циклов
M>>      Next
M>>   Next
M>>Next
M>>


S>Циклы убираются в функцию. Красиво, аккуратно и практично. А выход производится через return.


В функцию с 20 параметрами
Re[4]: используете ли вы goto?
От: criosray  
Дата: 06.03.09 08:40
Оценка:
Здравствуйте, _d_m_, Вы писали:


S>>Циклы убираются в функцию. Красиво, аккуратно и практично. А выход производится через return.


___>В функцию с 20 параметрами


Скорее всего сигнализирует об ошибке(ах) в дизайне.
Re[4]: используете ли вы goto?
От: elmal  
Дата: 06.03.09 08:46
Оценка: +3
Здравствуйте, _d_m_, Вы писали:

___>В функцию с 20 параметрами

Если там 20 параметров, значит явно надо сделать класс, тогда параметров будет меньше. goto не причина плохого кода, этот оператор появляется по соседству с плохим кодом, делая его еще хуже.
Re[5]: используете ли вы goto?
От: _d_m_  
Дата: 06.03.09 08:47
Оценка:
Здравствуйте, criosray, Вы писали:

C>Здравствуйте, _d_m_, Вы писали:



S>>>Циклы убираются в функцию. Красиво, аккуратно и практично. А выход производится через return.


___>>В функцию с 20 параметрами


C>Скорее всего сигнализирует об ошибке(ах) в дизайне.


Это я намекнул об оборотной стороне медали.
Re[3]: используете ли вы goto?
От: azzx Россия  
Дата: 06.03.09 08:54
Оценка:
Здравствуйте, Sealcon190, Вы писали:

S>Циклы убираются в функцию. Красиво, аккуратно и практично. А выход производится через return.


Что в этом красивого? На каждый чих заводить по функции?
Re[4]: используете ли вы goto?
От: elmal  
Дата: 06.03.09 09:01
Оценка: 3 (1)
Здравствуйте, azzx, Вы писали:

A>Что в этом красивого? На каждый чих заводить по функции?

В том, что такой код читается как нормальный текст на английском. В том, что код выглядит нормально на любом языке. В том, что вместо написания комментария внутри метода, мы называем функцию нормальным именем, отражающей то, что она делает, и даже необъодимость в комментарии может отпасть. В том, что эту функцию можно повторно использовать в дальнейшем, можно перенести ее в другой класс, и этот рефакторинг будет вполне безопасным.
Re[4]: используете ли вы goto?
От: criosray  
Дата: 06.03.09 09:35
Оценка:
Здравствуйте, azzx, Вы писали:

S>>Циклы убираются в функцию. Красиво, аккуратно и практично. А выход производится через return.


A>Что в этом красивого? На каждый чих заводить по функции?


SRP — single responsibility principle.
Re[5]: используете ли вы goto?
От: Кондраций Россия  
Дата: 06.03.09 09:47
Оценка:
Здравствуйте, elmal, Вы писали:

E>Здравствуйте, _d_m_, Вы писали:


___>>В функцию с 20 параметрами

E>Если там 20 параметров, значит явно надо сделать класс, тогда параметров будет меньше. goto не причина плохого кода, этот оператор появляется по соседству с плохим кодом, делая его еще хуже.
Без фанатизма...
А оно надо описывать целый класс из-за одного goto, если данный goto не мешается?
Сообщение заговорено потомственным колдуном, целителем и магом в девятом поколении!
Модерирование или минусование сообщения ведет к половому бессилию, венерическим заболеваниям, венцу безбрачия и диарее!
Re[6]: используете ли вы goto?
От: criosray  
Дата: 06.03.09 09:56
Оценка: :)
Здравствуйте, Кондраций, Вы писали:

___>>>В функцию с 20 параметрами

E>>Если там 20 параметров, значит явно надо сделать класс, тогда параметров будет меньше. goto не причина плохого кода, этот оператор появляется по соседству с плохим кодом, делая его еще хуже.
К>Без фанатизма...
К>А оно надо описывать целый класс из-за одного goto, если данный goto не мешается?

Все очень просто: если появилась надобность в goto, значит у вас ошибка на этапе проектирования.

Есть такой хороший термин "code smells".
Re[7]: используете ли вы goto?
От: Кондраций Россия  
Дата: 06.03.09 12:40
Оценка: +1
Здравствуйте, criosray, Вы писали:

C>Здравствуйте, Кондраций, Вы писали:


___>>>>В функцию с 20 параметрами

E>>>Если там 20 параметров, значит явно надо сделать класс, тогда параметров будет меньше. goto не причина плохого кода, этот оператор появляется по соседству с плохим кодом, делая его еще хуже.
К>>Без фанатизма...
К>>А оно надо описывать целый класс из-за одного goto, если данный goto не мешается?

C>Все очень просто: если появилась надобность в goto, значит у вас ошибка на этапе проектирования.

Не резковато ли? Как связано проектирование с написанием кода? Один и тот-же код зачастую может быть написан разными способами, в том числе и с/без goto.

C>Есть такой хороший термин "code smells".

Запах — это хорошо ... Вот только вопрос, что будет хуже пахнуть: один не мешающий goto или структура на 20 параметров, используемая только один раз.
... << RSDN@Home 1.2.0 alpha 4 rev. 1111>>
Сообщение заговорено потомственным колдуном, целителем и магом в девятом поколении!
Модерирование или минусование сообщения ведет к половому бессилию, венерическим заболеваниям, венцу безбрачия и диарее!
Re[5]: используете ли вы goto?
От: Кондраций Россия  
Дата: 06.03.09 12:40
Оценка:
Здравствуйте, elmal, Вы писали:

E>Здравствуйте, _d_m_, Вы писали:


___>>В функцию с 20 параметрами

E>Если там 20 параметров, значит явно надо сделать класс, тогда параметров будет меньше. ...
Подумалось вот... Если понадобилось 20 параметров — значит в функции не менее 20 локальных переменных и параметров функции. Возможно, эта функция за слишком многое пытается отвечать. Может, её возможно разбить на несколько меньших или попытаться переделать тот участок кода, который использует данную функцию?

Замена 20 параметров функции на один составной параметр ничего не даст. Формально параметров у функции будет меньше (один), но этот единственный параметр параметр нужно будет инициализировать 20-ю значениями. Разницы мало. Вот пресловутые 20-ть параметров являются "бродячими", тогда имеет смысл их группировать, но это не обсуждаемый случай. Либо если функция с 20-ю параметрами используется в большом кол-ве мест и при типовом использовании часть параметров может быть по умолчанию, тогда можно для объекта, заменяющего 20-ть параметров сделать соответствующие конструкторы. Но это тоже не наш случай.
... << RSDN@Home 1.2.0 alpha 4 rev. 1111>>
Сообщение заговорено потомственным колдуном, целителем и магом в девятом поколении!
Модерирование или минусование сообщения ведет к половому бессилию, венерическим заболеваниям, венцу безбрачия и диарее!
Re[5]: используете ли вы goto?
От: Privalov  
Дата: 06.03.09 13:35
Оценка: 1 (1)
Здравствуйте, elmal, Вы писали:

P>>В порядке флейма: on error resume next, imho, еще хуже, чем goto. Пару лет назад пришлось разбираться, почему ничего не работает, и в то же время ничего не падает.


E>Да, согласен, что хуже, если внутри больше одного метода — за такое убивать надо.


Убивать надо именно за on error resume next. А если on error goto label, тогда нормально. (Кстати, случай полезного применения goto ). Следить нужно только, чтобы обязательно из обработчика шел какой-нибудь выхлоп, что-нибудь типа записи в application log.

E>А на деле, шас даже на нормальных языках внутри обработки исключений редко допускаю, чтоб больше одного метода было. Мучения с синтаксисом VB — хорошая школа, чтоб понять, как писать нормально поддерживаемый, хорошо читаемый код, очень многим этой школы недостает .


Это да. Я когда-то участвовал в проекте, написанном на древнем basic-е, на ПЭВМ "Искра-226". Код того проекта я и сейчас считаю образцовым. goto там, конечно, хватало, но ни разу не было выбросов за пределы функции, ни разу не было путаницы goto с gosub, иными словами, не было ни одной строки кода-спагетти. Но усилия на администрирование (code review и пр.) были очень велики. О том, как решался вопрос с переменными — отдельная история, к тому же, оффтоп.
Re[6]: используете ли вы goto?
От: Mishka Норвегия  
Дата: 06.03.09 14:18
Оценка:
Ещё б я вас слушал, работал бы где-нибудь в Совке
1. goto можно и нужно использовать
2. on error resume next используется постоянно
3. copy/paste — лучший способ повторного использования кода
4. всё равно как писать и на чём, зарплата и прогресс в карьере зависит не от этого, а отсюда смотри пункт 1.
Re[7]: используете ли вы goto?
От: Кондраций Россия  
Дата: 06.03.09 14:28
Оценка:
Здравствуйте, Mishka, Вы писали:

M>Ещё б я вас слушал, работал бы где-нибудь в Совке

M>1. goto можно и нужно использовать
M>2. on error resume next используется постоянно
M>3. copy/paste — лучший способ повторного использования кода
M>4. всё равно как писать и на чём, зарплата и прогресс в карьере зависит не от этого, а отсюда смотри пункт 1.
Ничего не понял...
... << RSDN@Home 1.2.0 alpha 4 rev. 1111>>
Сообщение заговорено потомственным колдуном, целителем и магом в девятом поколении!
Модерирование или минусование сообщения ведет к половому бессилию, венерическим заболеваниям, венцу безбрачия и диарее!
Re[6]: используете ли вы goto?
От: elmal  
Дата: 06.03.09 14:55
Оценка:
Здравствуйте, Privalov, Вы писали:

P>Убивать надо именно за on error resume next. А если on error goto label, тогда нормально. (Кстати, случай полезного применения goto ). Следить нужно только, чтобы обязательно из обработчика шел какой-нибудь выхлоп, что-нибудь типа записи в application log.

На VBScript on error goto label нету, там только resume next . И страшен не resume next сам по себе, а отсутствие после него if err then ... В случае с on error goto label ошибку иак же можно проглотить.
Re[7]: используете ли вы goto?
От: Privalov  
Дата: 06.03.09 15:14
Оценка:
Здравствуйте, elmal, Вы писали:

E>На VBScript on error goto label нету, там только resume next . И страшен не resume next сам по себе, а отсутствие после него if err then ... В случае с on error goto label ошибку иак же можно проглотить.


А, понял. Не писал на VBScript. На VB тоже, но разбираться приходилось. Ужас. А ведь if err в спешке, или по другой какой причине, легко пропустить. Так же, как и просто поставить return по метке, на которую переход по ошибке выполняется. Но если здесь приучить себя к аккуратности, потом никакой BF не страшен
Re[8]: используете ли вы goto?
От: Mishka Норвегия  
Дата: 06.03.09 15:15
Оценка: +1
Здравствуйте, Кондраций, Вы писали:

К>Ничего не понял...


В программировании есть только одна истина — keep it simple (aka KISS), goto из циклов проще, чем создание отдельной фунции, код будет быстрее, компактнее и читабельнее. Читать книжки — это хорошо, но и головой надо думать.

P.S. Я тут встретил программера, который, увидев код на C# x = y ^ z, долго медитировал за неимением возможности погуглить по ^
Re: goto statement considered...
От: SergeCpp Россия http://zoozahita.ru
Дата: 06.03.09 15:44
Оценка:
http://rsdn.ru/forum/message/2344423.flat.aspx
Автор: SergeCpp
Дата: 10.02.07


С другой стороны, есть статья Кнута примерно такого названия: Structured programming with goto statements.
http://zoozahita.ruБездомные животные Екатеринбурга ищут хозяев
Re[9]: используете ли вы goto?
От: Mr.Cat  
Дата: 06.03.09 16:04
Оценка:
Здравствуйте, Mishka, Вы писали:
M>P.S. Я тут встретил программера, который, увидев код на C# x = y ^ z, долго медитировал за неимением возможности погуглить по ^

Потому что нефиг логические операции обозначать какими-то неведомыми значками.
Re: используете ли вы goto?
От: x64 Россия  
Дата: 06.03.09 16:05
Оценка:
K>Используете ли вы этот оператор?

Да.
Re[2]: goto statement considered...
От: Mishka Норвегия  
Дата: 06.03.09 17:07
Оценка: -4
Здравствуйте, SergeCpp, Вы писали:

SC>http://rsdn.ru/forum/message/2344423.flat.aspx
Автор: SergeCpp
Дата: 10.02.07


SC>С другой стороны, есть статья Кнута примерно такого названия: Structured programming with goto statements.


Кнут, Буч, Вирт, GoF и пр. раритеты компьютерной истории должны сидеть на свалке и не лезть в современное коммерческое программирование. И ещё раз программирование — это не наука, в лучшем случае искусство, но в большинстве — простое ремесло.
Re[9]: используете ли вы goto?
От: criosray  
Дата: 06.03.09 18:21
Оценка:
Здравствуйте, Mishka, Вы писали:

M>goto из циклов проще, чем создание отдельной фунции, код будет быстрее, компактнее и читабельнее.

Надеюсь это такой утонченный сарказм?

M>P.S. Я тут встретил программера, который, увидев код на C# x = y ^ z, долго медитировал за неимением возможности погуглить по ^

Странный программер, который не может додуматься погуглить С# operators
Re[9]: используете ли вы goto?
От: anton_t Россия  
Дата: 06.03.09 18:44
Оценка:
Здравствуйте, Mishka, Вы писали:

M>Здравствуйте, Кондраций, Вы писали:


К>>Ничего не понял...


M>В программировании есть только одна истина — keep it simple (aka KISS), goto из циклов проще, чем создание отдельной фунции, код будет быстрее, компактнее и читабельнее.


Только он будет труднее поддерживаем. А сравнивать скорость goto и return — просто глупо.

M> Читать книжки — это хорошо, но и головой надо думать.


M>P.S. Я тут встретил программера, который, увидев код на C# x = y ^ z, долго медитировал за неимением возможности погуглить по ^


Это XOR что ли?
Re[10]: используете ли вы goto?
От: Antikrot  
Дата: 06.03.09 19:01
Оценка:
Здравствуйте, anton_t, Вы писали:

_>А сравнивать скорость goto и return — просто глупо.

почему, неплохой повод померяться пипи... тактами. причем можно напридумывать примеров и в пользу goto, и в пользу return


M>>P.S. Я тут встретил программера, который, увидев код на C# x = y ^ z, долго медитировал за неимением возможности погуглить по ^

_>Это XOR что ли?
да, но почему нельзя гуглить?
Re[3]: goto statement considered...
От: drx США  
Дата: 07.03.09 02:26
Оценка:
Здравствуйте, Mishka, Вы писали:

M>Кнут, Буч, Вирт, GoF и пр. раритеты компьютерной истории должны сидеть на свалке и не лезть в современное коммерческое программирование.


Простите, но GoF-то уж почему к коммерческому программированию не относятся?
Re: используете ли вы goto?
От: dmz Россия  
Дата: 07.03.09 05:22
Оценка:
K>Вот задумался на эту тему. Используете ли вы этот оператор? Я вот практически ни разу его не юзал.

Виртуальная машина Beep-а состоит из goto чуть менее чем полностью, их там 67 штук.
Re: используете ли вы goto?
От: Игoрь Украина  
Дата: 10.03.09 17:55
Оценка: +2
Здравствуйте, kot2009, Вы писали:

K>Вот задумался на эту тему. Используете ли вы этот оператор? Я вот практически ни разу его не юзал. И ни у кого в коде его не встречал. Но как ни странно в C# и других языках он остался, спрашивается зачем?


Пользуем и не паримся. Качество дизайна и наличие/отсутствие goto в коде — вещи малосвязанные. Другое дело, что необходимость в goto возникает крайне редко.
Re[2]: Ну посмотри! :)
От: Erop Россия  
Дата: 10.03.09 18:02
Оценка:
Здравствуйте, Sealcon190, Вы писали:

S>На плюсах даже не знаю как ЭТО делается, никогда не использовал и у других ни разу не видел.

Поищи goto по текстам стандартной библиотеки, например...
Все эмоциональные формулировки не соотвествуют действительному положению вещей и приведены мной исключительно "ради красного словца". За корректными формулировками и неискажённым изложением идей, следует обращаться к их автором или воспользоваться поиском
Re: используете ли вы goto?
От: uuu2  
Дата: 10.03.09 20:34
Оценка:
Пользуюсь. Например, для создания конечных автоматов с запутанной логикой — когда альтернативой 100-строчному коду с goto является 10000-строчный "линейный" код с кучей повторяющихся, вложенных друг в друга условий.
Re[3]: Ну посмотри! :)
От: NikeByNike Россия  
Дата: 10.03.09 22:14
Оценка:
Здравствуйте, Erop, Вы писали:

S>>На плюсах даже не знаю как ЭТО делается, никогда не использовал и у других ни разу не видел.

E>Поищи goto по текстам стандартной библиотеки, например...

Поискал. Нету.
Нужно разобрать угил.
Re[2]: используете ли вы goto?
От: criosray  
Дата: 10.03.09 22:49
Оценка: +1
Здравствуйте, uuu2, Вы писали:

U>Пользуюсь. Например, для создания конечных автоматов с запутанной логикой — когда альтернативой 100-строчному коду с goto является 10000-строчный "линейный" код с кучей повторяющихся, вложенных друг в друга условий.


Пример такого кода (100 строчная версия с goto) в студию, будьте так любезны.

И, кстати, конечные автоматы прекрасно реализуются без goto, используя банальный switch case и словарь (хэштаблица). Сколько этих конечных автоматов не писал, ни разу не возникало даже мысли об использовании goto. Поэтому будет интересно посмотреть на Ваш код.
Re[3]: используете ли вы goto?
От: uuu2  
Дата: 11.03.09 19:10
Оценка:
C>Пример такого кода (100 строчная версия с goto) в студию, будьте так любезны.

Я, конечно, могу найти этот код и выложить... Но без знания смысла кода, без понимания конкретной специфики проектного задания и связи этого куска кода с другим кодом — Вам не удастся ничего в нём понять.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.