Целочисленные типы данных фиксированной длины

StackOverflow https://stackoverflow.com/questions/1420751

  •  07-07-2019
  •  | 
  •  

Вопрос

Я прочитал правило Zero One Infinity в разработке программного обеспечения.

Почему это называется? исходя из фактического поведения программного обеспечения и его инженеров, разве это не лучше назвать правилом «один ноль два миллиарда сто сорок семь миллионов четыреста восемьдесят три тысячи шестьсот сорок восемь» или, может быть, нулевое значение четыре миллиарда два Правило сто девяносто четыре миллиона девятьсот шестьдесят семь тысяч двести девяносто шесть?

Это было полезно?

Решение

Смысл правила о том, что не должно быть «магического числа» для верхнего предела. Однако практически трудно достичь этого, потому что есть некоторые ограничения реализации, такие как ширина целого числа и подобные вещи. Дело в том, что когда вы переходите от N-битного целого к N + K-битному целому, проект программного обеспечения должен обрабатывать его естественным образом - вам не следует перепроектировать все только из-за таких изменений. Пределы представления целых чисел не должны быть «магическими числами»; здесь.

Другие советы

Потому что это просто руководство, которое предполагает искусственное ограничение количества экземпляров сущности, глупо. Можно легко обосновать, что существует ноль определенной вещи (т.е. желтые слоны). Можно также оправдать наличие только одной вещи (то есть одной жены или мужа). Однако после превышения этого предела становится все труднее сказать: «Хорошо, мы допустим только 5 Foos». - ограничения часто (но не всегда) относительно произвольны - кто-то всегда хочет 6 или 15 и т. д.

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

<Ол>
  • Это предложение приводит к изменению имени правила в зависимости от деталей реализации вашего продукт.
  • Это предположение делает название правила громоздким.
  • Разве это предложение не смешно?
  • Лицензировано под: CC-BY-SA с атрибуция
    Не связан с StackOverflow
    scroll top