Re[22]: Веб и динамика? Веб и статика+метапрограммирование.
От: Ziaw Россия  
Дата: 20.12.10 13:14
Оценка: +1
Здравствуйте, Воронков Василий, Вы писали:

ВВ>Можно сказать, что динамика рулит в вебе, потому что в вебе как раз менее всего проявляются недостатки динамики. А плюсы остаются такими же, как и в остальных случаях.


В вебе проявляются ее достоинства, краткость кода и минимальное количество движений для внесения изменений. А недостатки скрадываются, мы можем править любые баги очень быстро. Это не коробочная версия, в которой нашли багу после того, как она ушла к клиенту. И скорость в вебе не всегда критична, на десктопе лаги интерфейса дают негатив куда сильнее.

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

ВВ>Но сейчас все-таки не 90-е. Клиенты "хочут" аякса и веб-два-ноль. А это значит, что у нас будет куча ДжаваСкрипта. И что толку от того, что в одном маленьком месте мы добавили статики, а во всех остальных у нас как была, так и осталась динамика — причем динамика отборнейшейго, так сказать, "качества".


Это что за задача с маленьким сервером и огромным клиентом?

ВВ>Алгоритмические ошибки — это другое. А низкоуровневые тесты писать несложно. И таки моя практика показывает, что тесты для ДАЛа нужны, с помощью какой бы технологии он не создавался. Статика тестирует только соответствие клиентского кода сгенерированной модели. Но модель все равно разъезжается с данными. Вот разъезжается и все тут. Все равно на этапе разработки изменения делаются и там, и там. Тут в общем срабатывает старый добрый принцип — если что-то может поломаться, то это обязательно поломается.


Это потому, что у тебя есть код и там и там, естественно ты его можешь и там и там править. У меня код только там, разъезжаться в таком случае просто нечему.

ВВ>Поэтому если сравнивать статический ДАЛ — к примеру, на Linq2Sql — и динамический (ну собственно, рукописный код со всяческими reader.GetValue) — то я бы совсем не сказал, что первый вариант надежнее. К обоим надо прибивать юнит-тесты и гонять их чуть ли не на каждом комите.


Давай пример юнит теста и сценария в котором этот юнит тест нам будет полезен. Я не представляю о чем ты говоришь.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.