Помогите пожалуйста с логикой.
-
@Antonio Ни кто не запрещает пользоваться функционалом BAS, тем более, что метки в нём есть. Если в каком то месте скрипта удобнее использовать их, то ради бога. Но чем их больше, тем сложнее весь скрипт диагностировать.
Однажды мне в личке просили помочь со скриптом, дак он полностью весь состоял из меток. Я насчитал около !пятидесяти! меток и уйму переходов. Там были функции, которые он не вызывал, а использовал через метки в разных участках кода.. Сказать что у меня потекла кровь из глаз, это ни чего не сказать...:d
- Я не призываю к холивару, быть меткам или нет. Каждый работает с тем, что ему привычнее.
-
@Denis_krsk, а уменя наоборот были проблемы из-за того, что я из функции вызывал другую функцию. БАС иногда просто останавливался при этом.
-
@Fox спасибо за ответ, хоть я про это в целом был в курсе.
@bigorat мы с тобой на форуме баса и я не экстрасенс, так что не зная что там у тебя было в голове, когда ты писал про "метки - зло", я вполне резонно предположил, что речь идет о какой-то специфике работы именно баса, возможно баге. Вот и спросил. Но рад, что помог тебе поднять твое ЧСВ с "гугл разве отключили" и "метанием бисера".
-
@Antonio Ни разу не было такого. У меня очень много таких вызов. Я всегда стараюсь все на функции разбивать. У меня скрипт как дерево :) Но пока я не вкурил, что метки зло то тоже были проблемы. Теперь я их почти не использую, а если использую то только в рамках одной функции.
-
@Fox, я тоже не бросаюсь в крайности. Я говорю о том, что если пишешь, что метки-зло, то нужно привести аргументы. Иначе это слишком категорично.
-
@Fox said in Помогите пожалуйста с логикой.:
Там были функции, которые он не вызывал, а использовал через метки в разных участках кода..
Я далек от программерских холиваров, но серьёзно, в чем тут для тебя была разница в чтении кода с вызовами функций? Это же абсолютно такой же переход.
-
@Denis_krsk said in Помогите пожалуйста с логикой.:
В Бас, когда меткой выходишь из функций из которой произошел вызов, то вызвавшая функция уже не помнит кто ее вызвал. Вообщем контексты теряются.
Поясни на примере, что это значит.
-
@Antonio На пальцах что-то вроде этого
Функция1 вызвала Функцию2, а та в свою очередь Функцию3. И если меткой выйти из фунции 3 в Функцию 2, то та может после своего выполнения не вернуться в функцию 1, а остановиться.
Причинной этому видимо является, то что пропускается момент инициализации функции 2.
-
@Denis_krsk, а, ну это писец, о котором я и говорил, относительно функций. Отлаживать код, в котором вот так функции постоянно вызывают другие функции - это иногда очень запарно. Ну в общем это уже дело вкуса. Я стараюсь максимально последовательно писать.
-
Просто были случаи, что в функции 3 был цикл, а в этом цикле условие при котором выполнение не имело смысла .А тупо continue не выйдешь из функции т.к. в цикле находишься вот я по лени своей и выходил меткой.
-
@wmbab said in Помогите пожалуйста с логикой.:
мы с тобой на форуме баса и я не экстрасенс, так что не зная что там у тебя было в голове, когда ты писал про "метки - зло", я вполне резонно предположил, что речь идет о какой-то специфике работы именно баса, возможно баге. Вот и спросил. Но рад, что помог тебе поднять твое ЧСВ с "гугл разве отключили" и "метанием бисера".
У меня все в порядке с ЧСВ, и за ваш счет я его поднимать не собираюсь уж точно, как я писал, пржде чем что то спрашивать попробуйте узнать это сами, поскольку вы таким образом превратитесь в подобие одного персонажа на форуме, который на любой чих требует сиюминутный ответ, вместо того что бы поискать информацию самому. Поэтому ни в коем разе вам это было не в обиду, и уж если вы знаете почему лучше не юзать метки в обычном програмировании то аналогию к BAS-у применить могли. За сим откланиваюсь :)
-
@Antonio В больших скриптах последовательный код и сложночитаем и приводит к большему дублированию кода, который потом сложно исправлять. Конечно если скрипт простой то я себя тоже не заморачиваю :)
-
@Denis_krsk, понятное дело, что мы не про простые скрипты говорим. Я к тому, что иногда лучше код продублировать, чем по 3-5 вызовов функции из функции делать. И это даст более читабельный и отлаживаемый код. А иногда нет.
-
@Antonio Ну тут да дело вкуса. Главное результат и уж точно никого не волнует красота кода :))