TGTGInsightтелеграм анализLIVE / telegram public index
← Такты, стеки, два колеса

TGINSIGHT SIMILAR POSTS

Намери подобно съдържание

Изходен канал @clockstackwheels · Post #721 · 26.12

Почему я люблю языки с сильной системой типов, проверяемой статическим анализом кода — хорошо написанная программа является своей собственной спецификацией и позволяет выражать через язык программирования законы существования предметной области. Когда-то давно я писал на ActionScript. Там была система типов, но вот десериализация JSON'ов по-умолчанию была в какой-то общий Object, к полям которого нужно было обращаться ["по_строковому_имени"]. В один момент мне потребовалось написать что-то на C#, который я совсем не знал, я стал гуглить, как десериализовать JSON, и с удивлением обнаружил кучу советов заранее объявить класс со всеми нужными полями и десериализовать в него. "Какой ужас!", — подумал я тогда, — "Это же дико неудобно! А если я не знаю полей JSON? А если их много? Отвратительный язык!" Теперь то я прекрасно понимаю, что JSON это контракт, и что правильная десериализация только такая и должна быть, и что в хорошем API в одном поле никогда не бывает данных принципиально разных типов, и так далее. Нет, если вы набиваете вечерами пет-проект или сидите бессонную ночь на хакатоне, нет ничего плохого в том, чтобы взять простой язык с динамическими типами вроде JavaScript или Python, не требующий описывать данные. Но вот в энтерпрайзе, особенно когда над одним проектом работает много людей (а бывает это очень часто) — хорошее использование системы типов убережёт разработчиков от огромного количества ошибок, будет бить их по рукам, когда они пытаются сделать что-то не то, и будет подсказывать, когда они не уверены в чём-то. С помощью статической типизации можно на уровне кода обозначить правила, по которым ведёт себя предметная область вашей программы в реальном мире. Разработчику не только будет сложно их нарушить, но он ещё и станет узнавать какие-то вещи, которые мог не знать раньше. Например, если мы делаем медицинскую CRM, и больница заводит новых пациентов только тогда, когда знает их группу крови, мы можем объявить тип "Пациент" (или, если точнее, "Карта пациента") и запретить создавать экземпляры этого типа, не передав в конструктор группу крови (которая, в свою очередь, тоже является типом, вероятнее всего ValueObject'ом). Если новый программист пришёл в проект, он, во-первых, не сможет записать в БД некорректную карту пациента. Понятно, мы не учитываем случаи, когда новый программист переделывает модели предметной области — это будет хорошо видно на кодревью. А, во-вторых, даже если ему никто не сказал, что пациенты должны быть с группой крови, он узнает это из кода. И уже будет понимать, что в тех процессах реальной жизни, которые он описывает кодом, карта пациента создаётся только при наличии группы крови. А, значит, нужно искать какой-то способ сначала эту группу крови получить, и только потом создавать карту. Программирование моделирует реальный процесс. В настоящей работе даже на языках с типами, конечно, без должного контроля можно написать что угодно. Нужна управленческая воля, компетентность руководства, понимание опасности техдолга, в идеале отдельные должности для архитекторов, опытные лиды и старшие разработчики. Но когда всё это есть, можно отсекать много проблем ещё на старте и проще погружать новичков. #dev

Hashtags

Резултати

Намерени 22 подобни публикации

Търсене: #dibujo

当前筛选 #dibujo清除筛选
Arte Futura MX

@ArteFuturaMX · Post #321 · 29.03.2021 г., 06:22

#Obras de M. C. Escher: — Otro mundo (1947) — Escalera arriba y escalera abajo (1960) — Torre de Babel (1928) — Bond of Union (1956) — Convexo y cóncavo (1955) — Dragón (1952) — Manos dibujando (1948) — Still Life and Street (1937) — Reptiles (1943) — Casa de escaleras (1951) — Relativity lattice (1953) — Cielo y agua I (1938) — Serpientes (1969) — Estrellas (1948) — Still Life with Spherical Mirror (1934) — Tres mundos (1955) #dibujo#grabado#ArteFuturaMX https://artefutura.com.mx @artefuturamx

Arte Futura MX

@ArteFuturaMX · Post #303 · 29.03.2021 г., 06:20

⁣#Efemérides || 27 de marzo de 1972 #Fallece M. C. Escher. Fue un artista gráfico holandés que realizó xilografías, litografías y mezzotints de inspiración matemática. Su trabajo presenta objetos y operaciones matemáticas que incluyen objetos imposibles, exploraciones del infinito, reflexión, simetría, perspectiva, poliedros truncados y estrellados, geometría hiperbólica y teselaciones. La expresión artística de Escher se creó a partir de imágenes en su mente, en lugar de hacerlo directamente a partir de observaciones y viajes a otros países. Su interés por los múltiples niveles de la realidad en el arte se manifiesta en obras como Dibujando manos (1948), donde se muestran dos manos, cada una dibujando a la otra. El crítico Steven Poole comentó que «es una clara representación de una de las fascinaciones perdurables de Escher: el contraste entre la planitud bidimensional de una hoja de papel y la ilusión de volumen tridimensional que se puede crear con ciertas marcas. En Drawing Hands, el espacio y el plano coexisten, cada uno nacido y regresando al otro, la magia negra de la ilusión artística se manifiesta de manera espeluznante». La forma especial de pensar y los ricos gráficos de Escher han tenido una influencia continua en las matemáticas y el arte, así como en la cultura popular. La propiedad intelectual de Escher está controlada por MC Escher Company, mientras que las exposiciones de sus obras de arte son gestionadas por separado por la Fundación MC Escher. Las principales colecciones institucionales de obras originales de MC Escher son el Museo Escher en La Haya; la Galería Nacional de Arte en Washington, DC; la Galería Nacional de Canadá en Ottawa; el Museo de Israel en Jerusalén; y Huis ten Bosch en Nagasaki, Japón. #Obra: Mano con esfera reflectante de M. C. Escher, 1935. #dibujo#grabado#ArteFuturaMX https://artefutura.com.mx @artefuturamx

Class Cloud☁️

@classcloud · Post #126 · 21.07.2023 г., 11:45

Ilustración de animales con personalidades humanas #dibujo#photoshop#Domestika Descargar Curso Parte1👉: https://www.up-4ever.net/uv0a9nw28ykw Parte2👉: https://www.up-4ever.net/o0zedf0jaze5 Parte3👉: https://www.up-4ever.net/c42wt6jaupmc

Class Cloud☁️

@classcloud · Post #95 · 15.07.2023 г., 11:17

Técnicas narrativas para cómics con alma #dibujo#comics#Domestika Descargar Curso Parte1👉: https://www.up-4ever.net/os5v9e4l3yum Parte2👉: https://www.up-4ever.net/yszlh0lrbqu0 Parte3👉: https://www.up-4ever.net/bgljsktghfq6

Class Cloud☁️

@classcloud · Post #167 · 04.08.2023 г., 11:46

Retratos de Mascotas en Lápices de Colores #dibujo#retrato#Domestika Descargar Curso: Parte1👉: https://www.up-4ever.net/ela3si3xzi7i Parte2👉: https://www.up-4ever.net/ymv3v40lbbno Parte3👉: https://www.up-4ever.net/p844xnsyqsjk Parte4👉: https://www.up-4ever.net/s90825zcz0fq Parte5👉: https://www.up-4ever.net/6dcsvgr2c3dx Parte6👉: https://www.up-4ever.net/t24xds7p2ei9 Parte7👉: https://www.up-4ever.net/39nycldh0k3w

12
ПредишнаСтр. 1 от 2Следваща