Наши проекты:
Журнал · Discuz!ML · Wiki · DRKB · Помощь проекту |
||
ПРАВИЛА | FAQ | Помощь | Поиск | Участники | Календарь | Избранное | RSS |
[3.141.199.243] |
|
Страницы: (32) « Первая ... 10 11 [12] 13 14 ... 31 32 ( Перейти к последнему сообщению ) |
Сообщ.
#166
,
|
|
|
Цитата OpenGL @ Если внутренний цикл использует 100500 локальных переменных - читабельность упадёт до нуля. Тогда она в любом случае упадет до нуля, хоть с goto, хоть без него. И нужно пересматривать архитектуру программы. Цитата OpenGL @ И, таки я полагаю, что пример Qraizer-а ты уже переписал без goto и код стал понятнее? Запрыгиванием во вложенный for ? Во первых он привел ссылку на тему, я там в ней уже отвечал, почитай чтоль. Во вторых мне не хочеца соревноваться кто круче костыль запилит. Цитата OpenGL @ Нет. Я согласен ровно с тем, что было процитировано. Портянка в тысячу строк, которую я в большинстве случаев разобью на части, из него не следует. Ну представь что у тебя код, который ты разделишь на функции - будет использоваться ровно один раз, выходит ты противоречишь сам себе. Ведь какой смсл выносить код в отдельную функцию, если он используется ровно один раз(ну по вашей же логике)? Ну круто, сам написал говнокод какойто сам с него поржал, и еще обвинил меня в том, что это я такой говнокод предлагаю Добавлено Просто в моем понимании - функции/методы нужны для группировки некоторых инструкций по их смыслу. А в вашем понимании - вы все будете писать в одной функции в 5 тыс строк, потому что код в ней не повторяется и разделив его на функции каждая функция будет использована ровно один раз. Ну если для вас норма писать портянки - то флаг вам в руки. О чем тут еще спорить? |
Сообщ.
#167
,
|
|
|
Цитата KILLER @ Тогда она в любом случае упадет до нуля, хоть с goto, хоть без него. И нужно пересматривать архитектуру программы. Голословное утверждение. Цитата KILLER @ Запрыгиванием во вложенный for ? Во первых он привел ссылку на тему, я там в ней уже отвечал, почитай чтоль. В той теме ответов, показывающих ненужность goto в данном случае от тебя не было. Цитата KILLER @ Во вторых мне не хочеца соревноваться кто круче костыль запилит. "Не хочеца" тебе в первую очередь свои слова доказывать. Ну или признать, что не получится это сделать. Цитата KILLER @ Ну представь что у тебя код, который ты разделишь на функции - будет использоваться ровно один раз, выходит ты противоречишь сам себе. Ведь какой смсл выносить код в отдельную функцию, если он используется ровно один раз(ну по вашей же логике)? Если ты внимательно перечитаешь ту фразу, то увидешь, что там не говорится о том, что не надо выносить в отдельную функцию если код используется один раз. Цитата KILLER @ Просто в моем понимании - функции/методы нужны для группировки некоторых инструкций по их смыслу. В моём тоже. И если этот самый смысл не позволяет отделить два-три цикла, из которых надо прыгать, в отдельную функцию (что, надо признать, бывает нечасто), то городить огород только ради религиозного требования "без goto" я смысла не вижу. |
Сообщ.
#168
,
|
|
|
Цитата OpenGL @ Голословное утверждение. Оно ровно такое же голословное как и твое про 100500 локальных переменных и что если все это разбить на функции - читабельность упадет. Цитата OpenGL @ В той теме ответов, показывающих ненужность goto в данном случае от тебя не было. Советую прочитать тему доконца хотя бы. Или это - Почему go to считается плохим тоном? (сообщение #2553668) не то? Цитата OpenGL @ "Не хочеца" тебе в первую очередь свои слова доказывать. Ну или признать, что не получится это сделать. Во первых я сейчас в гостях, и не со своего компа пишу. Во вторых - функцию проще переписать с нуля, чем пихать туда костыли, но при сохранении такого же кода. Цитата OpenGL @ Если ты внимательно перечитаешь ту фразу, то увидешь, что там не говорится о том, что не надо выносить в отдельную функцию если код используется один раз. А я тебе о чем говорю? Не дошло еще? Может сам перечитаешь с того момента, где я еще со Славяном общался по поводу этой цитаты? Как по другому еще объяснить тебе? Есть код на 5 тыс строк, ты оформляешь его в функцию, если ты его будешь дробить на функции например - то каждая функция будет использоваться ровно один раз. По вашей логике - дробить на функции такой код смысла нет, ведь все функции будут использованы один раз. Цитата OpenGL @ В моём тоже. Сам себе противоречишь? А как же ненужность функции, если она один раз будет гдето вызвана? Цитата OpenGL @ И если этот самый смысл не позволяет отделить два-три цикла, из которых надо прыгать, в отдельную функцию (что, надо признать, бывает нечасто), то городить огород только ради религиозного требования "без goto" я смысла не вижу. Ты привязываешься к goto. Я же исхожу из того, что его нет в принципе, и как я буду писать - бить на функции или использовать флаги или использовать условие в цикле или вообще еще как то по другому - зависит от конкретной задачи. А на сухих примерах что вы приводите - как хочешь так и делай. Хоть бей на функции, хоть вводи флаг, хоть переписывай все с нуля и по своему. |
Сообщ.
#169
,
|
|
|
Цитата KILLER @ Перекручиваете! Я тоже выношу одноразовую функцию, скажем из main'а a'la вида: InitGraphics(), или GetData(); Именно потому, что они несут в себе своё качество. А вот выносить из GetData() некую GetData1() сильно тупо будет, коли это ради вывертов от goto. Есть код на 5 тыс строк, ты оформляешь его в функцию, если ты его будешь дробить на функции например - то каждая функция будет использоваться ровно один раз. По вашей логике - дробить на функции такой код смысла нет, ведь все функции будут использованы один раз. |
Сообщ.
#170
,
|
|
|
Цитата KILLER @ но ровно такое же голословное как и твое про 100500 локальных переменных и что если все это разбить на функции - читабельность упадет. На работе постоянно с этим сталкиваюсь. Но у нас своя специфика - пишем гидродинамические симуляторы. Какой-то отдельный логически неделимый этап симуляции, включающий в себя достаточно много вычислений и написанный в виде метода, внутри которого немало локальных переменных - обычное дело. Цитата KILLER @ Советую прочитать тему доконца хотя бы. Или это - Почему go to считается плохим тоном? (сообщение #2553668) не то? Не то. У тебя там внутренний цикл вообще только один раз выполнится Цитата KILLER @ Во первых я сейчас в гостях, и не со своего компа пишу. Во вторых - функцию проще переписать с нуля, чем пихать туда костыли, но при сохранении такого же кода. Ну так я не прошу прямо сейчас Просто говорить, что легко переписать, и при этом добавлять, что не собираешься это делать как-то некрасиво. Цитата KILLER @ А я тебе о чем говорю? Не дошло еще? Может сам перечитаешь с того момента, где я еще со Славяном общался по поводу этой цитаты? Как по другому еще объяснить тебе? Есть код на 5 тыс строк, ты оформляешь его в функцию, если ты его будешь дробить на функции например - то каждая функция будет использоваться ровно один раз. По вашей логике - дробить на функции такой код смысла нет, ведь все функции будут использованы один раз. Ещё раз. Использование кода в одном месте не является поводом его не-вынесения в отдельную функцию. Это фразе не противоречит. |
Сообщ.
#171
,
|
|
|
Цитата Славян @ Перекручиваете! Я то? Это скорее вы отнекивайтесь от своих же слов: Цитата Славян @ Цитата Ну а если у тебя функция длинная предлинная, а выносишь ты то, что будет использованно ровно 1 раз, то и выносить незачем? Да, незачем. И далее: Добавлено Цитата OpenGL @ Ещё раз. Использование кода в одном месте не является поводом его не-вынесения в отдельную функцию. Это фразе не противоречит. Ну так еще раз прочти хотя бы предыдущую цитату мою, адресованую славяну. Я там даже уже привел по цитатам о чем шла речь. |
Сообщ.
#172
,
|
|
|
Цитата KILLER @ Я же исхожу из того, что его нет в принципе, и как я буду писать - бить на функции или использовать флаги или использовать условие в цикле или вообще еще как то по другому - зависит от конкретной задачи. Так тут о том и твердят, что это религиозная заморочка, отсутствие которой иногда может помочь написать более читабельный код Добавлено Цитата KILLER @ Ну так еще раз прочти хотя бы предыдущую цитату мою, адресованую славяну. Если я согласен с какой-либо одной фразой Славяна, то это не означает, что я буду согласен и с остальными |
Сообщ.
#173
,
|
|
|
Цитата KILLER @ Вы, KILLER, сильно нечестно поступаете! Я то? Это скорее вы отнекивайтесь от своих же слов 1.У меня там были короткие предложение, а вы выдернули токмо слово, на кое и стали нападать. Фу. 2.Я не отнекиваюсь, а подтверждаю, что "выносить незачем", но если код видится особым - вполне можно. И коли функция на 5 тысяч строк, которые делают большую, сложную, но одну работу, то дробить её ради дробления - пустая работа, больше мешающая, нежели чему-то способствующая. |
Сообщ.
#174
,
|
|
|
Я не религиозен, но ни разу ни в одном языке высокого уровня не юзал goto, как-то не нужно было.
|
Сообщ.
#175
,
|
|
|
Цитата applegame @ Так сейчас и идёт в мире пропаганда отказа от этого слова. Даже где-то его и вовсе нет (то ли в Яве, то ли ещё где-то). Вот так вот и вырастут новые поколения людей, вынужденные писать код без такой изредка прекрасной способности! Это как исполняемые данные (DEP в винде, кажется): стараются от этого избавиться, а с ними во времена DOS/ASM'а было сверхпрекрасно!.. Я не религиозен, но ни разу ни в одном языке высокого уровня не юзал goto, как-то не нужно было. |
Сообщ.
#176
,
|
|
|
Цитата applegame @ Я не религиозен, но ни разу ни в одном языке высокого уровня не юзал goto, как-то не нужно было. Ты Си и С++ относишь к языкам высокого уровня? |
Сообщ.
#177
,
|
|
|
Цитата вики C++ сочетает свойства как высокоуровневых, так и низкоуровневых языков. |
Сообщ.
#178
,
|
|
|
Я бы не стал тут опираться на вики. По этому вопросу мнения расходятся.
|
Сообщ.
#179
,
|
|
|
Цитата D_KEY @ хор. Я бы не стал тут опираться на вики. По этому вопросу мнения расходятся. |
Сообщ.
#180
,
|
|
|
Цитата D_KEY @ Ага. Не претендую на определение ЯП, но эти языки тоже имел в виду. Но таки соврал, еще в школе программируя на васике юзал goto. Ты Си и С++ относишь к языкам высокого уровня? |