Пределы применения статической типизации
Oct. 7th, 2010 10:43 am![[personal profile]](https://www.dreamwidth.org/img/silk/identity/user.png)
Очевидно, что статическая типизация не панацея, но все равно интересно натыкаться на места, где она никак не поможет гарантировать отсутствие ошибок.
Например, когда мы пишем предикат для фильтра для списка - если мы ошибемся в условии, это в compile time никак не отловишь, хоть тресни.
В этом плане хороши предметные области, где есть свои способы проверки, типа бухгалтерии. Там большинство отчетов можно проверить несколькими способами(если конечно, архитектура нормальная, а не "мы не можем сделать по-человечески, поэтому будем дублировать проводки в таблице два раза и отфильтровывать везде ненужные")
Например, когда мы пишем предикат для фильтра для списка - если мы ошибемся в условии, это в compile time никак не отловишь, хоть тресни.
В этом плане хороши предметные области, где есть свои способы проверки, типа бухгалтерии. Там большинство отчетов можно проверить несколькими способами(если конечно, архитектура нормальная, а не "мы не можем сделать по-человечески, поэтому будем дублировать проводки в таблице два раза и отфильтровывать везде ненужные")
no subject
Date: 2010-10-07 10:51 am (UTC)no subject
Date: 2010-10-07 11:37 am (UTC)no subject
Date: 2010-10-07 12:11 pm (UTC)no subject
Date: 2010-10-07 01:14 pm (UTC)no subject
Date: 2010-10-07 06:14 pm (UTC)То есть, можно обшибиться в спецификации, если на неё не накладывать дополнительных условий (что тоже не гарантия).
Пример - DNS, в котором пару лет назад обнаружили дыру.
Правда, технология с около-Хоаровыми-тройками уже очень от многого бы избавила.
no subject
Date: 2010-10-07 06:12 pm (UTC)Это называют культурой бозопасности.
Многое можно делать, несмотря на очень жёсткую спецификацию.
Но если есть некие (проверенные?) требования более высокого уровня, то и действия в пределах свободных будут более осторожными.