Наши проекты:
Журнал · Discuz!ML · Wiki · DRKB · Помощь проекту |
||
ПРАВИЛА | FAQ | Помощь | Поиск | Участники | Календарь | Избранное | RSS |
[18.224.214.215] |
|
Страницы: (32) « Первая ... 9 10 [11] 12 13 ... 31 32 ( Перейти к последнему сообщению ) |
Сообщ.
#151
,
|
|
|
Цитата KILLER @ Не ври, ты написал двухкилобайтный скриптик который что то там создавал, а не прогу в 200000 строк за 10 минут. Я тоже могу сказать что я писал 100500 строк кода за 30 секунд, тупо создал MFC проект - и у меня все сгенерилось. А чо? Не нужно путать мягкое с теплым. Вынужден Вас разочаровать - Ваш проект MFC не является прогой, решающей конкретную задачу. Так что сравнение неадекватно. |
Сообщ.
#152
,
|
|
|
Агу!
Не "они", а "она", и не "используются", а "используется"! Но если вы про то, что много функций тоже используется, то - да, не надо выносить, ничему это не помогает. Это я вам свои ощущения пишу; соц. опрос не проводил, а по коду товарищей многократно видел, что те одноразовый блок в фунцию не выносили. Цитата KILLER @ Ясно. Вечер наступил. Ладно, прерываемся. Конкретно вот в этой - вообще никакого смысла нет. Какие то три точки и возвращается непонятная переменная |
Сообщ.
#153
,
|
|
|
Цитата p1qb0d @ Вынужден Вас разочаровать - Ваш проект MFC не является прогой, решающей конкретную задачу. Так что сравнение неадекватно. Во первых решает. Например запускает окно с кнопками ок и отмена. Во вторых - я тебе привел аналогию. Не нужно путать кодогенератор с тем что ты пишешь сам. Цитата Славян @ Агу! Все ясно. Цитата Славян @ Не "они", а "она", и не "используются", а "используется"! А вы в русском языке изучали множественное число? Или хотя бы поглядеть что я коментировал - религия не позволяет?: Точно не "они", а "она"? Ты грузин чтоль? Цитата Славян @ что много функций тоже используется А я понял - функции используется! Нужно будет запомнить. Даже не так, "они(функции) используется"! Цитата Славян @ Это я вам свои ощущения пишу; соц. опрос не проводил, а по коду товарищей многократно видел, что те одноразовый блок в фунцию не выносили. А кем ты работаешь, если не секрет? |
Сообщ.
#154
,
|
|
|
|
Сообщ.
#155
,
|
|
|
|
Сообщ.
#156
,
|
|
|
А вот понабилось как-то. Если очень кратко – во времена DOS очень долго, как выяснилось, работающую программку захотелось по запросу прекращать с сохранением прогресса, ну и при повторном запуске восстанавливать состояние. Программка была одноразовая и сугубо для себя, я уже не помню даже, что она делала, может быть обходила все файлы по всем каталогам всех разделов и тестила студенческий лабораторный архиватор Шеннона-Фано, а может быть считала количество счастливых билетов. Но там было поболе трёх вложенных циклов со стартовыми счётчиками во внутренних, зависящими от текущих счётчиков внешних. Исходники за ненадобностью благополучно почили, но по памяти я воссоздал структурку программы вот тут. Там дальше приведён и структурный вариант... но вот найдётся ли кто-нибудь, кто скажет, что вариант без goto понятнее? Не говоря уже о производительности.
И тем более о времени разработки сего шедевра дизайнерской мысли. Структурный вариант правки под "хибернет" не был написан тогда вообще, ещё в 90-ых, в течение 20 минут и нескольких итераций отладка/размышлизмы/кнопкодавство/компиляция. Тупо мозгов не хватило. Посему на структурность было забито, и на вариант с goto ушло 30 секунд, из которых 20 – удаление структурной шелухи, и его даже отлаживать не пришлось. Сейчас вот, относительно недавно, структурность была реализована за 10 минут и 3 отладочных сеанса. Заодно могу предложить ещё одну тему для холивара: предложите наиболее удачный вариант реализовать "хибернет" в рамках вашего приложения. Сразу предупреждаю, что речь не идёт о том, чтобы переделать существующее приложение, ресь о том, чтобы "хибернет" заранее заложить в архитектуру. Добавлено P.S. KILLER, та ты ж должен помнить ту тему, ты же в ней участвовал. |
Сообщ.
#157
,
|
|
|
Цитата Qraizer @ А вот понабилось как-то. Если очень кратко – во времена DOS очень долго, как выяснилось, работающую программку захотелось по запросу прекращать с сохранением прогресса, ну и при повторном запуске восстанавливать состояние. Программка была одноразовая и сугубо для себя, я уже не помню даже, что она делала, может быть обходила все файлы по всем каталогам всех разделов и тестила студенческий лабораторный архиватор Шеннона-Фано, а может быть считала количество счастливых билетов. Но там было поболе трёх вложенных циклов со стартовыми счётчиками во внутренних, зависящими от текущих счётчиков внешних. Исходники за ненадобностью благополучно почили, но по памяти я воссоздал структурку программы вот тут. Там дальше приведён и структурный вариант... но вот найдётся ли кто-нибудь, кто скажет, что вариант без goto понятнее? Не говоря уже о производительности. Во первых - это сугубо исключительные ситуации, во вторых - проще переписать как правильно, нежели как в той теме примерять костыли. Цитата Qraizer @ P.S. KILLER, та ты ж должен помнить ту тему, ты же в ней участвовал. Почитал - да, судя по всему учавствовал в ней. Но не помню хоть убей Всетаки 5 лет назад было дело... Добавлено Цитата Qraizer @ Структурный вариант правки под "хибернет" не был написан тогда вообще, ещё в 90-ых, в течение 20 минут и нескольких итераций отладка/размышлизмы/кнопкодавство/компиляция. Тупо мозгов не хватило. Посему на структурность было забито, и на вариант с goto ушло 30 секунд, из которых 20 – удаление структурной шелухи, и его даже отлаживать не пришлось. Когда сроки жмут, а задачу нужно сделать, и ничего в голову другого не приходит - это прастительно. Но это всеравно будет костылем. Это сугубо исключительные случаи, и комент там писать обязательно нужно начинающийся с //! TODO Добавлено Цитата Qraizer @ Заодно могу предложить ещё одну тему для холивара: предложите наиболее удачный вариант реализовать "хибернет" в рамках вашего приложения. Сразу предупреждаю, что речь не идёт о том, чтобы переделать существующее приложение, ресь о том, чтобы "хибернет" заранее заложить в архитектуру. Что за хибернет? У меня это слово асоциируется с джавовской приблудой, с помощью которой можно с БД работать, генерируя код из xml файлов... |
Сообщ.
#158
,
|
|
|
Вот это вот самое. Hibernate - "спящий режим". Некоторые программульки имеют такую фичу. Я встречал во всякоразных паролеломалках. Можно стукнуть в "Сохранить" и ребутнуть машину, чтобы, например, винда апдейты применила, а потом включить и "Продолжить" себе на здоровье. Почему-то не вижу подобной фичи в видеоконверторах, которые тоже зачастую как начнут тромбить FRAPSовое часовое HD-сграбленное в H264, так на 4-ёх ядрах с DXVA на GTX660 можно часа на 4 получить 100% напряг CPU и GPU.
Я вот вдоволь насмотрелся на спидометры и графики в Мониторе Ресурсов за три месяца, в течении которых пополнял свой канал DOOM-ом. И ладно б хоть можно было бы оставить тромбиться и пойти спать, так нифига: есть кнопка "по окончании выключить компьютер", а про "усыпить по окончании" ни слова. И на кой хрен мне машину тушить, спрашивается, если она месяцами не ребутается, ибо три-четыре учётки постоянно залогинены, а комп совместно с WinAMPом работает будильником? |
Сообщ.
#159
,
|
|
|
И это всегда будет более читабельней, чем простой goto? Сильно сомневаюсь. Добавлено Цитата Славян @ Мы выносим f(x), если её описание длинно, а пользоваться ею придётся не раз, скажем. Аналогично с классами (POINT и т.п.). А вот выносить из функции функцию лишь бы не было goto - однократное занятие, потому и искусственное, а значит - неправильное. ++ |
Сообщ.
#160
,
|
|
|
Цитата OpenGL @ И это всегда будет более читабельней, чем простой goto? Сильно сомневаюсь. Добавлено Цитата Славян @ Мы выносим f(x), если её описание длинно, а пользоваться ею придётся не раз, скажем. Аналогично с классами (POINT и т.п.). А вот выносить из функции функцию лишь бы не было goto - однократное занятие, потому и искусственное, а значит - неправильное. ++ Да - это будет всегда лучше читабельней, чем goto. Я же нкписал - дроби на функции, если теняется читабещьноать с флагом. Факт в том - что менее читабельней будет с goto, чем без него. А ты пытаешься прицепиться конкретно к флагу. И ставишь вопрос так, что кроме флага - я больше ничего не предлагаю. По поводу твоего ++, тоже поддерживаешь портянки на нескглько тыс. строк? Ведь славян именно это в т.ч. имел, там под чем ты подписался. Добавлено я в автобусе еду. набираю с телефона. Так чьто сорь за мой китайский. лень править. |
Сообщ.
#161
,
|
|
|
Цитата KILLER @ Попытку склонить OpenGL'я на свою сторону, перевирая да унижая код 'портянками', чую я... По поводу твоего ++, тоже поддерживаешь портянки на нескглько тыс. строк? Ведь славян именно это в т.ч. имел, там под чем ты подписался. |
Сообщ.
#162
,
|
|
|
у него своего мнения нет чтоль?
|
Сообщ.
#163
,
|
|
|
Цитата KILLER @ Конечно есть, к чему сей риторический вопрос? Просто заплёвывая чужой код/схему вы пытаетесь затащить человека к себе. Нечестно же. у него своего мнения нет чтоль? |
Сообщ.
#164
,
|
|
|
Цитата KILLER @ Да - это будет всегда лучше читабельней, чем goto. Я же нкписал - дроби на функции, если теняется читабещьноать с флагом. Если внутренний цикл использует 100500 локальных переменных - читабельность упадёт до нуля. И, таки я полагаю, что пример Qraizer-а ты уже переписал без goto и код стал понятнее? Цитата KILLER @ По поводу твоего ++, тоже поддерживаешь портянки на нескглько тыс. строк? Нет. Я согласен ровно с тем, что было процитировано. Портянка в тысячу строк, которую я в большинстве случаев разобью на части, из него не следует. |
Сообщ.
#165
,
|
|
|
Цитата KILLER @ Я же нкписал - дроби на функции, если теняется читабещьноать с флагом. Ржу в голос! Давайте прикинем сценарий-последствие это "совета": "Плохая программа" void PreCompile() {} void Compile() {} void PostCompile() {} int main() PreCompile(); Compile(); PostCompile() return 0; } ... допустим в каждой функции есть выходы из 2-3-4-вложженых циклов. В результате совета мы должны получить: "Отличная программа" void PrePreCompile_1() {} void PrePreCompile_2() {} void PrePreCompile_3() {} void PreCompile() { PrePreCompile_1(); PrePreCompile_2(); PrePreCompile_3(); } void Compile_1() {} void Compile_2() {} void Compile_3() {} void Compile() { Compile_1(); Compile_2(); Compile_3(); } void PostCompile_1() {} void PostCompile_2() {} void PostCompile() { PostCompile_1() PostCompile_1() } int main() PreCompile(); Compile(); PostCompile() return 0; } Это ж надо еще литературным жанром обладать, чтобы дать осмысленные названия искусственно раздробленным программным сущностям. Одно радует - GOTO НЕ ПРОЙДЕТ!!! |