02.02.2020
Ikemefula
Здравствуйте, ukrspecs, Вы писали:

С>>Вы наверное сразу всё делаете правильно, а потом не переделываете никогда. И всё помните. Вам ни Find Usages не нужен, ни переразбивка проекта на части и неймспейсы, ни создание интерфейса для какого-нибудь класса на 50 методов (фасада к куче других сервисов, а интерфейс нужен для создания кэширующей прослойки).


U>ОК.

U>- Вы наверное сразу всё делаете правильно. По крайней мере стараюсь, а вы разве нет?

Смешно и наивно.

[list]
  • Правильно — это только сейчас. А сразу, как приступим к новыми фичам в следующей версии, уже автоматически неправильно.
  • Поменялись требования в ходе разработы — снова становится неправильно.
  • Поменялась команда — скажем, разбили на три локации, дизайн будет ломаться хотите вы там у себя или нет. Отчуждаем, скажем, ядро или плагины — это долгая и тщательная хирургия, после которой пациент должен быть жив.
  • Понадобились оптимизации — опаньки, их заранее предусмотреть нельзя, нужно решать дизайном...
  • 13.05.2019
    Ikemefula
    Здравствуйте, scf, Вы писали:

    K>>И у меня из этого возникла некая концепция “тяжёлых ассертов”, которую я хочу рассказать.


    scf>property based testing?

    scf>https://dev.to/jdsteinhauser/intro-to-property-based-testing-2cj8

    Ассерты это совсем не тесты. Ассерты это проверка предусловий, постусловий, инвариантов в самом коде. Если ассерты легкие, они работают всегда. Если тяжелые, только по требованию, например, на стейджинге.

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

    Например, у тебя есть функция, которая работает с BigInt, принимает BigInt и возвращает некоторый результат, который должен обладать определнными свойствами. Сколько тестов ты можешь себе позволить ? Ну 10, ну 100, может даже 1000. То есть, тесты очень дискретны — на фоне всего диапазона BigInt это почти ничего.

    Для ассерта нужна функция, которая проверит, скажем, инвариант цикла или пост-условие...
    18.04.2019
    Ikemefula
    Сказание о тонкостях хитромудрой разработки, о мультипарадигме, о добре и зле.
    11.10.2018
    Ikemefula
    Здравствуйте, Kluchnik, Вы писали:

    K>Раньше:

    ...
    K>Сейчас:
    ...

    Я убрал конспироложество. В кратце получается так — индустрия ИТ проходит все этапы становления, взросления. И постепенно в индустрию вовлекаются всё более широкие массы.

    Все отрасли проходили или проходят такие же этапы. И точно так же, как и везде, находятся луддиты разного сорта, т.к. контингент, который плачет по былым временам. То ресурсов им не хватает, то скайп глючит, то слака не палит, то электрон жгётся.
    Луддиты на то и луддиты, что бы изливать недовольство по поводу прогресса. ДО погромов, правда, дело еще не дошло.

    Важно отметить, что всего 10 лет назад, когда софт был быстрым(был ли?) и неглючным(был ли?), Слаки не было и в помине, простых вещей приходилось ждать месяцами.

    Поскольку вовлекаются масссы, то происходит разделение труда — потому можно видеть тестировщиков, верстальщиков, дизайнеров, девопсов, а не одного универсального всемогутора который всё умеет кое как.
    25.04.2018
    Ikemefula
    Продолжение истории http://blogs.rsdn.org/mad_hollander/6985083
    05.12.2017
    Ikemefula
    Близится день, когда Корпорация Микрософт наконец освоит своё детище — .Net Framework.
    11.11.2016
    Ikemefula
    Паттерн 'Отличный программист'
    30.04.2016
    Ikemefula
    race condition которых нет.
    27.02.2016
    Ikemefula
    Микрософт погрязла во грехе. Мобильная Винда — всё ?
    30.12.2015
    Ikemefula
    Ну и про монады, чего уж там
    1  2  3  > rss