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

Резултати

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

Търсене: #76ers

当前筛选 #76ers清除筛选
🏆 Info 288 - DEPORTES

@info288_deportes · Post #35935 · 23.11.2024 г., 10:11

🏀🇺🇸NBA Denver 120-123 Dallas#NBA#Denver#Dallas Naji Marshall impuso un récord personal con 26 puntos, P.J. Washington sumó 22 y los Mavericks de Dallas se recuperaron tras desperdiciar una ventaja de 24 unidades para superar el viernes 123-120 a los Nuggets de Denver en un duelo de la NBA Cup.Sin Luka Doncic, Dallas construyó una ventaja de 20 puntos al medio tiempo pero se vio abajo por cinco antes de que Washington anotara nueve tantos en los últimos 2:41 para mejorar a 2-1 en el Grupo C del Oeste. Denver quedó fuera de la ronda de eliminación directa.Doncic estará fuera al menos cuatro partidos con un esguince en la muñeca derecha. https://espndeportes.espn.com/basquetbol/nba/cronica/_/juegoId/401703402 Milwaukee 129-117 Indiana#NBA#Milwaukee#Indiana Giannis Antetokounmpo logró 37 puntos, 11 asistencias y 10 rebotes para el segundo triple-doble en sus últimos cuatro partidos, y los Milwaukee Bucks vencieron el viernes 129-117 a los Indiana Pacers. Antetokounmpo había conseguido 22 unidades, 15 rebotes y 12 asistencias el sábado en la derrota por 115-114 en Charlotte. Damian Lillard obtuvo 24 tantos y 12 asistencias por los Bucks. Gary Trent Jr. anotó su mayor número de la temporada, con 18 puntos, y Bobby Portis añadió 17. https://espndeportes.espn.com/basquetbol/nba/cronica/_/juegoId/401703398 76ers 113-98 Brooklyn#NBA#76ers#Brooklyn Jared McCain anotó 30 puntos y Tyrese Maxey agregó 26 por los Philadelphia 76ers, que rompieron una racha de cinco derrotas el vienes, al doblegar 113-98 a los Brooklyn Nets en un partido de la NBA Cup. Sin Joel Embiid, marginado por una hinchazón en la rodilla izquierda, ni Paul George, aquejado por una contusión ósea en esa misma articulación, la joven dupla de bases de Filadelfia tomó el control en el cuarto periodo con una ráfaga extendida de anotaciones que ayudó a los Sixers a remontar un déficit de nueve puntos. Se espera que tanto Embiid como George se pierdan el compromiso del domingo contra los LA Clippers antes de ser reevaluados a principios de la próxima semana. https://espndeportes.espn.com/basquetbol/nba/cronica/_/juegoId/401703396 Otros marcadores Washington 96-108 Boston Pelicans 108-112 Warriors Chicago 136-122 Atlanta Houston 116-88 Portland Clippers 104-88 Sacramento 🏆@Info288_deportes

🏆 Info 288 - DEPORTES

@info288_deportes · Post #35733 · 28.10.2024 г., 08:01

🏀🇺🇸NBA Indiana 114-118 76ers#NBA#Indiana#76ers El choque se mantuvo con altibajos para ambos quintetos con un 105-105 que al cierre del cuarto período decretó el empate que llevó las acciones a tiempos extras. En el añadido los 76ers vencieron 13-9 para lograr un 118-114 a su favor y apuntarse su primera sonrisa de la temporada luego de dos reveses. Tyrese Maxey con 45 unidades resultó la figura del encuentro por los ganadores, secundado por Caleb Martin (17) y Eric Gordon (15) mientras Tyrese Halliburton con 22 comandó a los derrotados. https://www.prensa-latina.cu/2024/10/27/philadelphia-derrota-a-indiana-en-peleado-duelo-de-nba/ Brooklyn 115-102 Milwaukee#NBA#Brooklyn#Milwaukee Jordi Fernández, el primer entrenador nacido en España en dirigir en la NBA, firmó este domingo su primer triunfo después de que sus Brooklyn Nets sorprendieran por 115-102 a los Milwaukee Bucks de Giannis Antetokounmpo y Damian Lillard. Tras dos derrotas a domicilio ante Atlanta Hawks y Orlando Magic, los Nets de Fernández (1-2) jugaron su primer partido de la temporada en el Barclays Center de Brooklyn y lo celebraron con un triunfo conducido por Cam Thomas (32 puntos, 25 de ellos en la segunda mitad) y Dennis Schroder (29 puntos, con 5 de 8 en triples, y 6 asistencias). https://www.infobae.com/america/agencias/2024/10/28/115-102-los-nets-sorprenden-a-los-bucks-y-jordi-fernandez-firma-su-primer-triunfo/ Warriors 104-112 Clippers#NBA#Warriors#Clippers Los Warriors no sólo perdieron un partido, el primero que jugaban en casa esta temporada. También perdieron a Stephen Curry. Los de San Francisco cayeron ante los Clippers por 104-122 en un partido en el que su estrella sufrió un esguince en el tobillo izquierdo al inicio del último cuarto. Sólo pudo jugar 27 minutos y acabó con 18 puntos. https://www.marca.com/baloncesto/nba/2024/10/28/doble-palo-warriors-derrota-clippers-lesion-curry.html Otros marcadores Portland 125-103 Pelicans Oklahoma 128-104 Atlanta 🏆@Info288_deportes