Рубрика «type safety»

Цель — показать, где TS дает иллюзию безопасности позволяя получить ошибки во время работы программы.

Мы не будем говорить о багах, в TS их достаточно
1,500 open bugs and 6,000 closed (‘is:issue is:open label:Bug’)

Все примеры будет рассмотрены при:

  • TS strict mode включен (написал статью пока разбирался)
  • Без явных «any»: «as any», «Objects», «Function», {[key: string]: unknown}
  • Без неявных «any»: (noImplicitAny): не типизированные импорты (pure JS files), неправильный вывод типов
  • Без ложных догадок о типах: ответ от сервера, типизация сторонних библиотек

Содержание:

  • Введение
  • Nominal types, custom types — когда вещи кажутся одинаковым, но такие разные
  • Type variance, exact types — об отношении между типами
  • Refinement invalidation — поговорим о доверии
  • Exceptions — стоит ли признаваться, когда накосячил?
  • Unsafe operations — уверенность не всегда идет на пользу
  • Бонусные случаи — проверка типов на этапе PR ревью
  • Заключение

Читать полностью »

Всем привет! Я — lead developer cocos2d-objc. Сейчас мы находимся в процессе портирования на Swift. Я планирую освещать процесс разработки, рассказывать архитектурные решения и т.д. Пока что проект еще на proof-of-a-concept стадии, поэтому сегодня я расскажу только о маленьком приёме, который, как я считаю, сделал нашу математическую библиотеку чуть лучше. Если интересно — прошу под кат.
image
Читать полностью »

Борис Бабаян о прошлом, настоящем и будущем вычислительной техники

Борис Бабаян
Каким представляется развитие вычислительной техники человеку, который уже более полувека занимается разработкой компьютерных технологий?

Мне удалось побеседовать на эту тему с Борисом Арташесовичем Бабаяном, директором по архитектуре компании «Интел».

Борис Бабаян известен как главный архитектор компьютерных вычислительных систем «Эльбрус-1», «Эльбрус-2» и «Эльбрус-3». Некоторые из его идей использованы в архитектуре Transmeta. В настоящее время Борис возглавляет разработку новой микропроцессорной архитектуры в компании «Интел».

Чтобы совсем покончить с формальностями, перечислю звания, степени и должности Бориса: член-корреспондент РАН, доктор технических наук, профессор, заведующий кафедрой «Микропроцессорные технологии» МФТИ, Intel Fellow, лауреат Государственной и Ленинской премий.

Дальнейшее повествование построено от лица Бабаяна. Мои скупые комментарии оформлены в виде врезок либо ссылок на интернет-страницы.

Читать полностью »

PyFence: верификация типов для Python

PyFence — самопальная утилита-библиотека, которая позволяет следить за соответствием типов во время отладки вашего проекта. PyFence берет информацию о типах из docstring'ов функций в стандартном формате Sphinx. То есть, если у вас уже есть документация, больше ничего делать для использования PyFence не нужно!

Например, возьмем следующий класс:
Читать полностью »


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js