Больше кода = больше ошибок

10

Вернувшись в колледж, я помню, как профессор преподавал в классе один из законов информатики. Он сказал что-то вроде «Больше кода равно больше ошибок» и дал ему имя (Закон Whatchamacallit) и приписал это кому-то.

Кто-нибудь знает, откуда взялся этот «закон», кто это сказал или каково его первоначальное словосочетание?

Джефф
источник
6
Напоминает мне: «Дизайнер знает, что достиг совершенства не тогда, когда нечего добавить, а когда нечего убрать». -Антуан де Сент-Экзюпери
Кирк Волл
4
Напоминает мне: «Нет кода быстрее, чем нет кода» (Руководство по разработке программ Taligent).
Люк Вудворд
1
Ну, так как вы упомянули это здесь, и никто не знает, как это называется, давайте назовем это «Закон Джеффа».
FrustratedWithFormsDesigner
@Kirk, похожая цитата от Артура Уильяма Рэдфорда (из живописи): «Половина искусства знает, когда остановиться». Очень уместно и в этом контексте.
Берин Лорич
Мне нравится "Закон Джеффа". Далее идет сделка с книгой. Кто поможет мне найти издателя? :)
Джефф

Ответы:

7

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

По Эндрю Танненбаум

Доктор Велизарий
источник
2
Ссылки на поиски в Google не особенно полезны. Можете ли вы извлечь соответствующую информацию и опубликовать ее в своем ответе.
ChrisF
1
@ChrisF это первый результат в поиске книг. Это материал, защищенный авторским правом, и я бы предпочел не цитировать текст. Спасибо за ваш комментарий.
Доктор Велизарий
2
Я полагаю, что добросовестное использование покроет цитату.
Orbling
1
Вы, кажется, не хотите вносить изменения, поэтому я сделал для вас.
Джош К
это звучит правильно. Спасибо! Я пытался вспомнить это годами.
Джефф
4

Книга Бома «Экономика разработки программного обеспечения» имеет базовую формулу.

Усилие = k * S ^ a

Где S - исходные строки кода.

И степенная функция, а была> = 1,0.

С. Лотт
источник
4

@belisarius: Хорошо замечен с Танненбаумом.

@Jeff: Если Танненбаум не звонит в колокольчик, ваш профессор, возможно, упомянул Оккама и закон экономики / краткости. (См . Бритву Оккама .)

@ S.Lott: Дейкстра довольно сильно спорил против использования строк кода в качестве меры полезной работы. Он в основном сказал, что это максимизирует неправильную переменную. Конечно, Бем пытается смоделировать усилия, и строки кода должны включать в себя удаленные строки кода.

Редактировать:

Я подумал, что добавлю, что Дейкстра также сказал, что «простота является предпосылкой надежности».

Кевин А. Науде
источник
7
Используйте «добавить комментарий» под ответами, чтобы добавить комментарии вместо того, чтобы писать их в ответе.
1
@ Thorbjørn Ravn Andersen - к сожалению, как пользователь с <50 репутацией, он не может добавлять комментарии.
ChrisF
1
@ Thorbjørn: Вам нужно 50 представителей, чтобы иметь возможность оставлять комментарии. @Kevin: Если вы свяжете свои учетные записи SO и Программистов, вы получите 100 повторений, что позволит вам оставлять комментарии.
Анон.
1
@Kevin - Программисты - это не форум, а сайт вопросов и ответов. Вы можете опубликовать ответ, который содержит больше информации, чем предусмотрено текущими ответами, но вы не должны оставлять комментарии как ответы. Если вы проверите FAQ, то увидите, что вам нужно 50 репутаций, чтобы иметь возможность комментировать, но этого довольно легко достичь.
ChrisF
1
@Anon - вам нужно> 200 повторений хотя бы на одном сайте, чтобы получить бонус. К сожалению, у Кевина только 160 на ТА на данный момент. Но вы можете повторно связать свои учетные записи в любое время, поэтому, когда вы наберете 200 на одном сайте, вы сможете получить бонус на всех.
ChrisF