Во время отладки, как вы оцениваете, стоит ли переписывать или продолжать искать? - PullRequest
1 голос
/ 11 августа 2011

Вы все встречали этот сценарий. Я впервые использую новый алгоритм, и я сижу за своим компьютером, пытаясь выяснить, является ли это какой-то синтаксической проблемой или я неправильно понял алгоритм. В подобном сценарии я бы скорее переписал программу, чем провел бы время, глядя на экран. Но это поднимает общий вопрос, который мне любопытно услышать от более опытных программистов, чем я:

Как вы оцениваете, когда пришло время переписать, или вы должны продолжать сидеть и смотреть на ваш код в поисках ошибки?

Есть ли какая-нибудь полезная эвристика, которую используют профессиональные программисты?

Ответы [ 3 ]

1 голос
/ 11 августа 2011

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

В качестве пищи для размышлений немного провокационное утверждение:

Написание кода - последнее, что нужно сделать.Быть кодером может показаться, что вы должны много печатать, но на самом деле, если я посчитаю, сколько символов каждый программист фиксирует каждый день, и попрошу какого-нибудь секретаря набрать ту же сумму, которую он / она сделает за менее чем 30 минут.

1 голос
/ 11 августа 2011

Это очень сложный вопрос и действительно зависит от вашего случая.

Как правило, есть два случая:

  • алгоритм прост, и вы быстро найдете ошибку.Переписывание обычно не требуется, если вы не хотите его оптимизировать.
  • алгоритм действительно сложен: найти ошибку сложно.Но это может быть трудно переписать, потому что вы можете пропустить некоторые тонкие особенности алгоритма.Риск состоит в том, чтобы иметь новый алгоритм, но с новыми ошибками!

Я не думаю, что есть четкий ответ на эту проблему.Я бы сказал, что лучше найти ошибку, чем переписать все.Перезапись необходима, когда вам нужно оптимизировать или очистить код (не потому, что вы не нашли ошибку).

Это мои два цента.

0 голосов
/ 11 августа 2011

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

http://www.joelonsoftware.com/articles/fog0000000069.html

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...