LINUX.ORG.RU

Думать или угадывать?


0

0

Итак, при написании громоздкой программы по некому алгоритму возникли сомнения в знаке. Можно разобраться досконально, можно вооружиться ручкой и бумагой и в итоге поставить правильный знак (ну или ошибиться) Или можно прогнать простой тестовый пример с плюсом, потом с минусом. Так получится быстрее. А если проблема с коэфффициентом 1 или 2? Или их несколько штук? Полагаться на интуицию? Тратить время на перебор/угадывание? Как вы действуете в такой ситуации и где грань, при которой вам не лень включать голову, особенно если время поджимает?

★★★★★

Re: Думать или угадывать?

ты там пишешь, случайно, не алгоритм работы рентген-аппарата?

record ★★★★ ()

Re: Думать или угадывать?

Можно провести серию тестов, если заранее известен результат.

Если совпадут - алгоритм правильный.

record ★★★★ ()

Re: Думать или угадывать?

Лучше всего чтобы ты понимал что ты там написал у себя. Поэтому лучше рассчитать и воткнуть готовое.

Werehuman ★★ ()
Ответ на: Re: Думать или угадывать? от Werehuman

Re: Думать или угадывать?

+1. но если алгоритм очень запутан то с пониманием бывают проблемы

drull ★☆☆☆ ()
Ответ на: Re: Думать или угадывать? от record

Re: Думать или угадывать?

>Если совпадут - алгоритм правильный

если тесты составлены правильно. Вообще-то лучше позвать специалиста в предметной области, пускай уравнения попишет.

abraziv_whiskey ★★★★★ ()

Маниаки.

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

А вообще, проверь на граничных условиях.

Camel ★★★★★ ()
Ответ на: Маниаки. от Camel

Re: Маниаки.

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

ratatosk ()

Re: Думать или угадывать?

Часто из общих соображений (используя интерпретации: геометрическую, физическую и др.) можно догадаться, какие где должны быть коэффициенты.

balodja ★★★ ()

Re: Думать или угадывать?

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

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

VladimirMalyk ★★★★ ()

Re: Думать или угадывать?

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

xnick ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.