Изменения

Перейти к навигации Перейти к поиску
465 байт добавлено ,  16:05, 19 февраля 2021
Строка 14: Строка 14:
== Откуда берутся ==
== Откуда берутся ==


* Ошибка. Не продумал алгоритм, сделал логическую ошибку, просто опечатался<ref>Например, если в программе на некоторых языках напечатать «=» вместо «==», то вместо сравнения двух значений получится запись значения справа от выражениия в переменную слева. Если такое действие в данном случае возможно, сама программа ни о какой ошибке не сообщит — откуда ей знать, [[Джинн-буквалист|хотел программист поменять значения или только сравнить]]? А потом у кого-то годовая премия станет равной нулю.</ref>, плохо знает особенности использованного языка или инструментов. Бывает со всеми, поэтому: тесты и ещё раз тесты.
* Ошибка. Не продумал алгоритм, сделал логическую ошибку, просто опечатался<ref>Например, если в программе на некоторых языках напечатать «=» вместо «==», то вместо сравнения двух значений получится запись значения справа от выражениия в переменную слева. Если такое действие в данном случае возможно, сама программа ни о какой ошибке не сообщит — откуда ей знать, [[Джинн-буквалист|хотел программист поменять значения или только сравнить]]? В еще более некоторых языках (точно в JavaScript, но, возможно, он не уникален) из-за крайне нетривиальной типизации есть [[Сарказм|нежно любимая разработчиками]] разница между сравнением по значению и по типу, в которой последствия ошибки еще более неочевидны. А потом у кого-то годовая премия станет равной нулю.</ref>, плохо знает особенности использованного языка или инструментов. Бывает со всеми, поэтому: тесты и ещё раз тесты.
* [[Недопонимание|Плохая постановка задачи]]. От «мне никто не сказал, что оно должно останавливаться, если нажата левая педаль» до «вы же сами просили, чтобы по нажатии кнопки оно получало задание „убить всех людей“. В ТЗ прямо так и написано».
* [[Недопонимание|Плохая постановка задачи]]. От «мне никто не сказал, что оно должно останавливаться, если нажата левая педаль» до «вы же сами просили, чтобы по нажатии кнопки оно получало задание „убить всех людей“. В ТЗ прямо так и написано».
* [[хакер|Трюкачество]]. Бывают очень неочевидные способы решения конкретной задачи, которые могут породить не менее неочевидные побочные эффекты. С другой стороны, без трюков порой решить задачу либо невозможно, либо слишком долго. Одно дело, когда трюк и его побочные эффекты широко известны и описаны в литературе, как тот же быстрый обратный квадратный корень, другое — трюк собственного изобретения. Если уж взялся за трюкачество, по-хорошему следует максимально тщательно данный фрагмент оттестировать и задокументировать.
* [[хакер|Трюкачество]]. Бывают очень неочевидные способы решения конкретной задачи, которые могут породить не менее неочевидные побочные эффекты. С другой стороны, без трюков порой решить задачу либо невозможно, либо слишком долго. Одно дело, когда трюк и его побочные эффекты широко известны и описаны в литературе, как тот же быстрый обратный квадратный корень, другое — трюк собственного изобретения. Если уж взялся за трюкачество, по-хорошему следует максимально тщательно данный фрагмент оттестировать и задокументировать.
2762

правки

Навигация