Re[16]: Бинго! Неужели для тебя есть разница?
От: Erop Россия  
Дата: 10.12.10 12:24
Оценка:
Здравствуйте, CreatorCray, Вы писали:

CC>Вот у тебя есть две коробки. Ты без проблем можешь поднять любую из них, но одна из них заметно легче.

CC>Понятно, нет?

Нет не понятно. В случае с коробками ты ощущаешь усилие по их подъёму, просто оно тебе по силам. А в случае с обсуждаемыми фрагментами усилия, связанные с преодолением непривычного форматирования должны быть просто НЕЗАМЕТНО МАЛЫ для тебя.

То есть в твоей аналогии в одной из коробок должно быть на маковую росинку больше.
Или ты не знаешь, какое из двух зёрен тяжелее и т. п....
Все эмоциональные формулировки не соотвествуют действительному положению вещей и приведены мной исключительно "ради красного словца". За корректными формулировками и неискажённым изложением идей, следует обращаться к их автором или воспользоваться поиском
Re[11]: Всеобщий заговор в отношении скобок...
От: Erop Россия  
Дата: 10.12.10 12:28
Оценка:
Здравствуйте, CreatorCray, Вы писали:

CC>Т.е. то, что это пример а не промышленный код тебя не смущает?

CC>Надо доколупаться и искать "ашипки" в псевдокоде, приведённом для иллюстрации?

Да нет. Надо просто приводить РЕАЛЬНЫЙ код, в качестве примера.
Я ещё раз намекаю, что AFAIK, некоторые, кажущиеся бредовыми ограничения на форматирование в некоторых известных мне местах были введены чисто из соображений корреляции.
Типа из пяти последних тяжёлых ошибок за каждой из которых гонялись по неделе, в четверых фигурировали строки длиннее 90, хотя такие длинные строки редкость -- значит надо запретить такие длинные строки и вычитать весь код, их содержащий...

Для ограничений такого типа нет смысла приводить синтетические примеры. Так как механизм корреляции нами не раскрыт.
Все эмоциональные формулировки не соотвествуют действительному положению вещей и приведены мной исключительно "ради красного словца". За корректными формулировками и неискажённым изложением идей, следует обращаться к их автором или воспользоваться поиском
Re[11]: Задачи-то у всех разные ;)
От: Erop Россия  
Дата: 10.12.10 12:29
Оценка: +2
Здравствуйте, CreatorCray, Вы писали:

E>>А вот борьба со взрывами QSort на каких-то специфичных данных -- самое то...

CC>Для этого изобрели отладчики с пошаговой отладкой и дампы.

Обычно, если взрыв стал заметен, то значит "специфичные данные" -- это довольно большой объём. Например 10 000 элементов. Или больше.
Хотя отладку по логам я тоже приветствую, как и пошаговую. Просто всё удобно на СВОЁМ месте...
Все эмоциональные формулировки не соотвествуют действительному положению вещей и приведены мной исключительно "ради красного словца". За корректными формулировками и неискажённым изложением идей, следует обращаться к их автором или воспользоваться поиском
Re[15]: Задачи-то у всех разные ;)
От: Erop Россия  
Дата: 10.12.10 12:30
Оценка:
Здравствуйте, CreatorCray, Вы писали:

CC>Отладчик.


Предлагаешь оттрассировать пару мегаитераций внутреннего цикла?
Все эмоциональные формулировки не соотвествуют действительному положению вещей и приведены мной исключительно "ради красного словца". За корректными формулировками и неискажённым изложением идей, следует обращаться к их автором или воспользоваться поиском
Re[21]: Задачи-то у всех разные ;)
От: ambel-vlad Беларусь  
Дата: 10.12.10 13:29
Оценка:
Здравствуйте, Ikemefula, Вы писали:

I>>>Да, необходимость подумать никто не отменял, ты прав


AV>>Угу, вот только чтобы придумать этот набор входных данных надо не мало времени потратить на просмотр и анализ в голове кода. Так что от "умеешь" толку ноль.


I>Есть инструменты, которые облегчают просмотр и анализ кода.


Вот только не всегда от них есть польза

I>>>Я вот не пойму, чем отсутствие инструментов может быть лучше их наличия.


AV>>Никто не говорит, что отсутствие инструментов лучше. Говорят, что они не всегда могут помочь. Разницу видишь?


I>Пример приведи.


Уже привел в прошлом сообщении.

I>>>Хотелось бы увидеть качественный пример, а не булшит про сортировку.


AV>>А сортировка тоже может неудачно выстрелить.


I>Может. Не возникало сложностей с алгоритмами сложнее сортировки, что бы найти проблему


Если у тебя чего-то не возникало, то не значит, что этого не может быть.

AV>>Могу еще один случай привести. Была у нас ситуация, когда на специально подобранном наборе данных сервак обламывался. Такой набор данных в реальной жизни если и встретиться, то хорошо, если раз в пару лет. А можешь и не столкнуться. Тем не менее, тестеры смогли смоделировать ситуацию.


I>Видишь, один инструмент ты уже сам назвал


Вах, вот только это помогло узнать что проблема есть. И ничего более.

>>Из логов понятно приблизительное место где возникает проблема. Кода там не так уж и много. Сотни три строк.


I>Это уже второй инструмент.


От которого толку ноль. Я и без логов мог с достаточной точностью определить где проблема. Да, чуть больший кусок пришлось бы просмотреть, строк 400-500. Не более.

>>Но точнее узнать не получается. Поставили большую детализацию, все начало пахать идеально.


I>Что такое "детализация" ?


Больше информации (деталей) в логах.

>>Под отладчиком эта проблема вообще никогда не воспроизводилась. Искали как раз по распечаткам. По банальной причине. Удобнее. На бумаге удобнее делать пометки. Причина оказалась банальной.


I>Т.е. вы эмулировали бумагой анализатор, что можно поделать Вероятно код был в таком состоянии, что его легче читать по бумаге. На это тоже есть инструменты.


И что бы ты анализировал своим анализатором? Паша, ты в очередной раз занялся телепатией. Но как всегда телепалка твоя тебя же подвела.

>>Две подсистемы должны были работать независимо. Но так уж сложилось, что на том наборе входных данных зависимость все таки присутствовала.


I>Обычно первым делом проверяются все возможные зависимости и отрабатываются по одной. На 300 строк кода зависимостей просто не может быть очень много.


И обломился бы. Потому что проблема начиналась совсем в другом месте. И там ничего не изменить. А в проблемном месте две системы, из-за которых были проблемы, друг друга не трогают.

I>Вобщем, ты привел пример того, что инструменты нужны — ты сам назвал два штуки.


Если ты не заметил, то один из них оказался бесполезен. А другой только в состоянии просигнализировать о наличии проблемы.
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Re[15]: Перешёл на личности -- сам знаешь, что значит ;)
От: Erop Россия  
Дата: 10.12.10 13:34
Оценка: +2 :)
Здравствуйте, Ikemefula, Вы писали:

I>Сколько тебе лет ?

Как это связано с темой разговора? Или это ты так к сливу своему постепенно привыкаешь?

I>У меня были похожие задачи, получалось решать их используя инструменты.


I>Вместо того, что бы эмулировать головой control flow, нужно проводить эксперименты, менять вход, ввододть логирование, пользоваться отладкой и тд.


Во-первых, выделенное -- глупость. Намного удобнее следить за control flow при помощи отладчика.
Головой можно же доказывать разные утверждения про код. При наличии достаточно заточенной под это головы, так быстрее и эффективнее искать некоторые сорта ошибок.
Если этот подход нов для тебя, в чём я не уверен, то советую начать с классической книжки Дейксры "Дисциплина программирования", или как-то так...
Все эмоциональные формулировки не соотвествуют действительному положению вещей и приведены мной исключительно "ради красного словца". За корректными формулировками и неискажённым изложением идей, следует обращаться к их автором или воспользоваться поиском
Re[22]: Задачи-то у всех разные ;)
От: Ikemefula Беларусь http://blogs.rsdn.org/ikemefula
Дата: 10.12.10 13:39
Оценка:
Здравствуйте, ambel-vlad, Вы писали:

I>>Есть инструменты, которые облегчают просмотр и анализ кода.

AV>Вот только не всегда от них есть польза

Когда ты читаешь чего по бумажке, попробуй сформулировать, чем бы мог помочь инструмент а потом погугли

AV>>>Могу еще один случай привести. Была у нас ситуация, когда на специально подобранном наборе данных сервак обламывался. Такой набор данных в реальной жизни если и встретиться, то хорошо, если раз в пару лет. А можешь и не столкнуться. Тем не менее, тестеры смогли смоделировать ситуацию.

I>>Видишь, один инструмент ты уже сам назвал

AV>Вах, вот только это помогло узнать что проблема есть. И ничего более.


То есть тестеры моделировали наобум, просто от балды, или же сначала начл обламываться сервак а потом за это взялись тестеры ?

Тестеры смоделировали — они что, по бумажке с кодом моделировали ?

I>>Это уже второй инструмент.


AV>От которого толку ноль. Я и без логов мог с достаточной точностью определить где проблема. Да, чуть больший кусок пришлось бы просмотреть, строк 400-500. Не более.


Не чуть больший, а почти вдвое больший. Бывает одна строка выносит мозг на день

Зависимости имеют нелинейное влияние, ты в курсе ?

I>>Т.е. вы эмулировали бумагой анализатор, что можно поделать Вероятно код был в таком состоянии, что его легче читать по бумаге. На это тоже есть инструменты.


AV>И что бы ты анализировал своим анализатором? Паша, ты в очередной раз занялся телепатией. Но как всегда телепалка твоя тебя же подвела.


Код разумеется.

I>>Обычно первым делом проверяются все возможные зависимости и отрабатываются по одной. На 300 строк кода зависимостей просто не может быть очень много.


AV>И обломился бы. Потому что проблема начиналась совсем в другом месте. И там ничего не изменить. А в проблемном месте две системы, из-за которых были проблемы, друг друга не трогают.


То есть те 300 строк что вы смотрели по бумаге, вам ничем не помогли ?

Попробуй сформулировать функции инструмента, который мог бы вам помочь и погугли

I>>Вобщем, ты привел пример того, что инструменты нужны — ты сам назвал два штуки.


AV>Если ты не заметил, то один из них оказался бесполезен. А другой только в состоянии просигнализировать о наличии проблемы.


ну да, сократить окно с 500 до 300 строк — это бесполезно
Re[16]: Перешёл на личности -- сам знаешь, что значит ;)
От: Ikemefula Беларусь http://blogs.rsdn.org/ikemefula
Дата: 10.12.10 13:41
Оценка:
Здравствуйте, Erop, Вы писали:

E>Во-первых, выделенное -- глупость. Намного удобнее следить за control flow при помощи отладчика.


То есть, ты уже отказываешься от своих слов про бумажку ?

E>Головой можно же доказывать разные утверждения про код. При наличии достаточно заточенной под это головы, так быстрее и эффективнее искать некоторые сорта ошибок.


Пример приведи внятный.
Re[17]: Перешёл на личности -- сам знаешь, что значит ;)
От: Erop Россия  
Дата: 10.12.10 13:47
Оценка:
Здравствуйте, Ikemefula, Вы писали:

E>>Во-первых, выделенное -- глупость. Намного удобнее следить за control flow при помощи отладчика.

I>То есть, ты уже отказываешься от своих слов про бумажку ?
Нет. Не отказался.

I>Пример приведи внятный.

Один я тебе привёл. Вот тебе другой. У тебя есть реализация формального какого-то алгоритма. Например он берёт RLE-изображение и замещает в нём каждый пиксель медианой квадрата 3Х3. И иногда он ошибается. Скажем данные, на которых ошибается, ты нашёл. Что делаешь дальше?
Все эмоциональные формулировки не соотвествуют действительному положению вещей и приведены мной исключительно "ради красного словца". За корректными формулировками и неискажённым изложением идей, следует обращаться к их автором или воспользоваться поиском
Re[18]: Перешёл на личности -- сам знаешь, что значит ;)
От: Ikemefula Беларусь http://blogs.rsdn.org/ikemefula
Дата: 10.12.10 14:03
Оценка:
Здравствуйте, Erop, Вы писали:

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


E>>>Во-первых, выделенное -- глупость. Намного удобнее следить за control flow при помощи отладчика.

I>>То есть, ты уже отказываешься от своих слов про бумажку ?
E>Нет. Не отказался.

I>>Пример приведи внятный.

E>Один я тебе привёл. Вот тебе другой. У тебя есть реализация формального какого-то алгоритма. Например он берёт RLE-изображение и замещает в нём каждый пиксель медианой квадрата 3Х3. И иногда он ошибается. Скажем данные, на которых ошибается, ты нашёл. Что делаешь дальше?

Дальше буду добавлять эти данные к юнит-тестам

Или RLE это нечто чего нельзя покрыть тестами ?
Re[23]: Задачи-то у всех разные ;)
От: ambel-vlad Беларусь  
Дата: 10.12.10 14:05
Оценка:
Здравствуйте, Ikemefula, Вы писали:

AV>>>>Могу еще один случай привести. Была у нас ситуация, когда на специально подобранном наборе данных сервак обламывался. Такой набор данных в реальной жизни если и встретиться, то хорошо, если раз в пару лет. А можешь и не столкнуться. Тем не менее, тестеры смогли смоделировать ситуацию.

I>>>Видишь, один инструмент ты уже сам назвал

AV>>Вах, вот только это помогло узнать что проблема есть. И ничего более.


I>То есть тестеры моделировали наобум, просто от балды, или же сначала начл обламываться сервак а потом за это взялись тестеры ?


Нет, никто не обламывался.

I>Тестеры смоделировали — они что, по бумажке с кодом моделировали ?


Не в прямом смысле, но по бумажке.

I>>>Это уже второй инструмент.


AV>>От которого толку ноль. Я и без логов мог с достаточной точностью определить где проблема. Да, чуть больший кусок пришлось бы просмотреть, строк 400-500. Не более.


I>Не чуть больший, а почти вдвое больший. Бывает одна строка выносит мозг на день


Нет, чуть больший. Потому что лишнее мы бы достаточно быстро отсекли бы. Потребовалось бы нам на это часа 5-6 человекочаса. По сравнению с остальным временем (под сотню человеко-часов) это не критично

I>>>Т.е. вы эмулировали бумагой анализатор, что можно поделать Вероятно код был в таком состоянии, что его легче читать по бумаге. На это тоже есть инструменты.


AV>>И что бы ты анализировал своим анализатором? Паша, ты в очередной раз занялся телепатией. Но как всегда телепалка твоя тебя же подвела.


I>Код разумеется.


И что же ты получишь в результате этих анализов?

I>>>Обычно первым делом проверяются все возможные зависимости и отрабатываются по одной. На 300 строк кода зависимостей просто не может быть очень много.


AV>>И обломился бы. Потому что проблема начиналась совсем в другом месте. И там ничего не изменить. А в проблемном месте две системы, из-за которых были проблемы, друг друга не трогают.


I>То есть те 300 строк что вы смотрели по бумаге, вам ничем не помогли ?


Как раз смотрение строк и дало.

I>Попробуй сформулировать функции инструмента, который мог бы вам помочь и погугли


Давай, вперед, приводи инструменты. А я посмеюсь. Паша, ты переносишь свои случаи на всех остальных. И считаешь, что у других иначе и быть не может.

I>>>Вобщем, ты привел пример того, что инструменты нужны — ты сам назвал два штуки.


AV>>Если ты не заметил, то один из них оказался бесполезен. А другой только в состоянии просигнализировать о наличии проблемы.


I>ну да, сократить окно с 500 до 300 строк — это бесполезно


Смотри выше.
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Re[19]: Перешёл на личности -- сам знаешь, что значит ;)
От: Erop Россия  
Дата: 10.12.10 14:46
Оценка:
Здравствуйте, Ikemefula, Вы писали:

I>Дальше буду добавлять эти данные к юнит-тестам

Чем это поможет? Есть у тебя компактная реализация алгоритма. Скорее всего конечного автомата. И что тебе дадут тесты?

I>Или RLE это нечто чего нельзя покрыть тестами ?

Польза-то в чём будет? Как ты найдёшь ошибку?
Все эмоциональные формулировки не соотвествуют действительному положению вещей и приведены мной исключительно "ради красного словца". За корректными формулировками и неискажённым изложением идей, следует обращаться к их автором или воспользоваться поиском
Re[20]: Перешёл на личности -- сам знаешь, что значит ;)
От: Ikemefula Беларусь http://blogs.rsdn.org/ikemefula
Дата: 10.12.10 14:47
Оценка:
Здравствуйте, Erop, Вы писали:

I>>Дальше буду добавлять эти данные к юнит-тестам

E>Чем это поможет? Есть у тебя компактная реализация алгоритма. Скорее всего конечного автомата. И что тебе дадут тесты?

Свалится конкретная функция.

I>>Или RLE это нечто чего нельзя покрыть тестами ?

E>Польза-то в чём будет? Как ты найдёшь ошибку?

Отваливается функция, если не плодить монстров по 200К кода, а ограничиваться десятком строк, то не надо ничего распечатывать и можно пользоваться дебуггером.
Re[21]: Перешёл на личности -- сам знаешь, что значит ;)
От: Erop Россия  
Дата: 10.12.10 15:04
Оценка:
Здравствуйте, Ikemefula, Вы писали:

I>Отваливается функция, если не плодить монстров по 200К кода, а ограничиваться десятком строк, то не надо ничего распечатывать и можно пользоваться дебуггером.


Описанное поведение кодируется небольшой одной единственной функцией...
Просто алгоритм, который она кодирует непрост.
Все эмоциональные формулировки не соотвествуют действительному положению вещей и приведены мной исключительно "ради красного словца". За корректными формулировками и неискажённым изложением идей, следует обращаться к их автором или воспользоваться поиском
Re[24]: Задачи-то у всех разные ;)
От: Ikemefula Беларусь http://blogs.rsdn.org/ikemefula
Дата: 10.12.10 15:10
Оценка:
Здравствуйте, ambel-vlad, Вы писали:

AV>>>>>Могу еще один случай привести. Была у нас ситуация, когда на специально подобранном наборе данных сервак обламывался. Такой набор данных в реальной жизни если и встретиться, то хорошо, если раз в пару лет. А можешь и не столкнуться. Тем не менее, тестеры смогли смоделировать ситуацию.

I>>>>Видишь, один инструмент ты уже сам назвал
AV>>>Вах, вот только это помогло узнать что проблема есть. И ничего более.
I>>То есть тестеры моделировали наобум, просто от балды, или же сначала начл обламываться сервак а потом за это взялись тестеры ?
AV>Нет, никто не обламывался.

Ты бы определился, умник. Сначала пишешь, что "на специально подобранном наборе данных сервак обламывался", а щас вот пишешь что сервер не обламывался

Короче, на ходу условие меняешь

I>>Тестеры смоделировали — они что, по бумажке с кодом моделировали ?

AV>Не в прямом смысле, но по бумажке.

работали ли они с распечаткой кода или нет ? Не пори чушь, только да или нет.

I>>Не чуть больший, а почти вдвое больший. Бывает одна строка выносит мозг на день


AV>Нет, чуть больший. Потому что лишнее мы бы достаточно быстро отсекли бы. Потребовалось бы нам на это часа 5-6 человекочаса. По сравнению с остальным временем (под сотню человеко-часов) это не критично


Я в такие заявления не верю, особенно если сделаны после того как все уже случилось.

I>>>>Т.е. вы эмулировали бумагой анализатор, что можно поделать Вероятно код был в таком состоянии, что его легче читать по бумаге. На это тоже есть инструменты.


I>>Код разумеется.


AV>И что же ты получишь в результате этих анализов?


Узнаю места которые надо проверить. И никаких бумажек с кодом для этого не надо.

I>>То есть те 300 строк что вы смотрели по бумаге, вам ничем не помогли ?


AV>Как раз смотрение строк и дало.


Что было в этих строчках ?

I>>Попробуй сформулировать функции инструмента, который мог бы вам помочь и погугли


AV>Давай, вперед, приводи инструменты. А я посмеюсь.


Ты сначала сформулируй, а потом можно будет поискать инструменты. Я же не знаю, что вы конкретно смотрели в том коде и что именно нашли.
Re[25]: Задачи-то у всех разные ;)
От: ambel-vlad Беларусь  
Дата: 10.12.10 15:41
Оценка: -1 :)
Здравствуйте, Ikemefula, Вы писали:

AV>>>>>>Могу еще один случай привести. Была у нас ситуация, когда на специально подобранном наборе данных сервак обламывался. Такой набор данных в реальной жизни если и встретиться, то хорошо, если раз в пару лет. А можешь и не столкнуться. Тем не менее, тестеры смогли смоделировать ситуацию.

I>>>>>Видишь, один инструмент ты уже сам назвал
AV>>>>Вах, вот только это помогло узнать что проблема есть. И ничего более.
I>>>То есть тестеры моделировали наобум, просто от балды, или же сначала начл обламываться сервак а потом за это взялись тестеры ?
AV>>Нет, никто не обламывался.

I>Ты бы определился, умник. Сначала пишешь, что "на специально подобранном наборе данных сервак обламывался", а щас вот пишешь что сервер не обламывался


I>Короче, на ходу условие меняешь


Умник, ты бы читать научился, а не занимался придумыванием того чего нет. Там было написано:

Была у нас ситуация, когда на специально подобранном наборе данных сервак обламывался. Такой набор данных в реальной жизни если и встретиться, то хорошо, если раз в пару лет. А можешь и не столкнуться.


Дальше не вижу смысла вести разговор. Ибо нет никакого желания вести как дон Кихот. Только вместо мельниц твои фантазии.
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Re[2]: Всеобщий заговор в отношении скобок...
От: vladimir.vladimirovich США  
Дата: 10.12.10 16:16
Оценка:
Здравствуйте, okman, Вы писали:

O>Казалось бы — при чем тут скобки ?


Скобки действительно не при чем. За такой код — гнать сцаными тряпками.
Re[17]: Задачи-то у всех разные ;)
От: vladimir.vladimirovich США  
Дата: 10.12.10 16:18
Оценка:
Здравствуйте, Ikemefula, Вы писали:

I>Я обычный, а ты и для фона не годишься.


А что об этом думают Ваши наблюдатели?

VV>>Это называется "сила заднего ума".

I>Это инженерия. А "задний ум" есть гадание по бумажке.

Насколько квалифицированым разработчиком Вы себя считаете?
Re[22]: Перешёл на личности -- сам знаешь, что значит ;)
От: Ikemefula Беларусь http://blogs.rsdn.org/ikemefula
Дата: 10.12.10 16:31
Оценка:
Здравствуйте, Erop, Вы писали:

I>>Отваливается функция, если не плодить монстров по 200К кода, а ограничиваться десятком строк, то не надо ничего распечатывать и можно пользоваться дебуггером.


E>Описанное поведение кодируется небольшой одной единственной функцией...

E>Просто алгоритм, который она кодирует непрост.

Небольшая функция в сколько строчек кода ?
Re[26]: Задачи-то у всех разные ;)
От: Ikemefula Беларусь http://blogs.rsdn.org/ikemefula
Дата: 10.12.10 16:37
Оценка:
Здравствуйте, ambel-vlad, Вы писали:

AV>Умник, ты бы читать научился, а не занимался придумыванием того чего нет. Там было написано:


Читай сам

ambel-vlad пишет:
Была у нас ситуация, когда на специально подобранном наборе данных сервак обламывался.

ambel-vlad пишет:
Нет, никто не обламывался.

AV>Дальше не вижу смысла вести разговор. Ибо нет никакого желания вести как дон Кихот. Только вместо мельниц твои фантазии.


Не пори чушь и прекращай истерику. Мне лично непонятно, как сервак мог обламывался и не обламывался
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.