История изменений
Исправление DRVTiny, (текущая версия) :
Кто-нибудь меня вообще слышит? Точно? Речь не идёт вообще ни разу о том, что нельзя перемножить простые числа и результат записать хоть в строку. Сама по себе идея ограничивать результат вычисления просто ради того, чтобы ограничить - в принципе довольно странная.
Речь идёт на 90% только о том, что нельзя доверять внешним данным только на основании того, что они подошли к определённому типу. Необходимо тщательно описывать, что есть такое внешние данные и каким критериям должно удовлетворять то, с чем мы согласимся работать.
Ненужно досконально проверять всё: если программист делает ошибки во внутренней логике программы, значит он сам идиот или слишком спешит (значит, тем более идиот).
Нужно проверять внешние данные. Причём ограничения, необходимые для очистки и превращения внешних данных во внутренние - могут иметь характер корреляций, когда одни внешние данные могут принимать определённые значения только при определённых значениях внутренних или внешних переменных: «T может быть >100 только если P > 3000»
Проще говоря. мне лично нужен iptables для разработчиков, когда внутри кода можно просто доверять данным, поскольку к ним прицеплени «знаки качества» виде меток «переменная V подходит под constraint X» .
Исправление DRVTiny, :
Кто-нибудь меня вообще слышит? Точно? Речь не идёт вообще ни разу о том, что нельзя перемножить простые числа и результат записать хоть в строку. Сама по себе идея ограничивать результат вычисления просто ради того, чтобы ограничить - в принципе довольно странная.
Речь идёт на 90% только о том, что нельзя доверять внешним данным только на основании того, что они подошли к определённому типу. Необходимо тщательно описывать, что есть такое внешние данные и каким образом они должны преобразовываться - да, в самые обычные подходящие для перемалывания процессором UInt64, Char'ы и прочее.
Ненужно досконально проверять всё: если программист делает ошибки во внутренней логике программы, значит он сам идиот или слишком спешит (значит, тем более идиот).
Нужно проверять внешние данные. Причём ограничения, необходимые для очистки и превращения внешних данных во внутренние - могут иметь характер корреляций, когда одни внешние данные могут принимать определённые значения только при определённых значениях внутренних или внешних переменных: «T может быть >100 только если P > 3000»
Проще говоря. мне лично нужен iptables для разработчиков, когда внутри кода можно просто доверять данным, поскольку к ним прицеплени «знаки качества» виде меток «переменная V подходит под constraint X» .
Исходная версия DRVTiny, :
Кто-нибудь меня вообще слышит? Точно? Речь не идёт вообще ни разу о том, что нельзя перемножить простые числа и результат хоть в строку. Сама по себе идея ограничивать результат вычисления просто ради того, чтобы ограничить - в принципе довольно странная.
Речь идёт на 90% только о том, что нельзя доверять внешним данным только на основании того, что они подошли к определённому типу. Необходимо тщательно описывать, что есть такое внешние данные и каким образом они должны преобразовываться - да, в самые обычные подходящие для перемалывания процессором UInt64, Char'ы и прочее.
Ненужно досконально проверять всё: если программист делает ошибки во внутренней логике программы, значит он сам идиот или слишком спешит (значит, тем более идиот).
Нужно проверять внешние данные. Причём ограничения, необходимые для очистки и превращения внешних данных во внутренние - могут иметь характер корреляций, когда одни внешние данные могут принимать определённые значения только при определённых значениях внутренних или внешних переменных: «T может быть >100 только если P > 3000»
Проще говоря. мне лично нужен iptables для разработчиков, когда внутри кода можно просто доверять данным, поскольку к ним прицеплени «знаки качества» виде меток «переменная V подходит под constraint X» .