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

Резултати

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

Търсене: #sturm

当前筛选 #sturm清除筛选
AI match predictions

@ai_match_prediction · Post #11470 · 12.04.2026 г., 05:07

Austria Bundesliga🇦🇹 2026-04-12 12:30 UTC Sturm Graz vs. TSV Hartberg Predicted outcome: Draw✅ Predicted score: 1:1 Actual: Draw 0:0 #Sturm#TSVHartberg 2026-04-12 15:00 UTC Austria Vienna vs. Rapid Vienna Predicted outcome: Draw✅ Predicted score: 1:1 Actual: Draw 1:1 #AustriaVienna#RapidVienna #Football#AustriaBundesliga

AI match predictions

@ai_match_prediction · Post #11886 · 03.05.2026 г., 05:07

Austria Bundesliga🇦🇹 2026-05-03 12:30 UTC Austria Vienna vs. TSV Hartberg Predicted outcome: Austria Vienna✅ Predicted score: 2:1 Actual: Austria Vienna 1:0 #AustriaVienna#TSVHartberg 2026-05-03 15:00 UTC Red Bull Salzburg vs. Sturm Graz Predicted outcome: Sturm Graz❌ Predicted score: 1:2 Actual: Draw 1:1 #RedBullSalzburg#Sturm #Football#AustriaBundesliga

AI match predictions

@ai_match_prediction · Post #12026 · 10.05.2026 г., 09:06

Austria Bundesliga🇦🇹 2026-05-10 15:00 UTC Rapid Vienna vs. Austria Vienna Predicted outcome: Rapid Vienna❌ Predicted score: 2:1 Actual: Austria Vienna 0:2 #RapidVienna#AustriaVienna 2026-05-10 15:00 UTC Lask Linz vs. Red Bull Salzburg Predicted outcome: Red Bull Salzburg❌ Predicted score: 2:3 Actual: Lask Linz 2:1 #LaskLinz#RedBullSalzburg 2026-05-10 15:00 UTC TSV Hartberg vs. Sturm Graz Predicted outcome: Sturm Graz✅ Predicted score: 1:2 Actual: Sturm Graz 2:4 #TSVHartberg#Sturm #Football#AustriaBundesliga

AI match predictions

@ai_match_prediction · Post #11765 · 26.04.2026 г., 09:08

Austria Bundesliga🇦🇹 2026-04-26 12:30 UTC Rapid Vienna vs. Red Bull Salzburg Predicted outcome: Red Bull Salzburg❌ Predicted score: 1:2 Actual: Rapid Vienna 1:0 #RapidVienna#RedBullSalzburg 2026-04-26 12:30 UTC TSV Hartberg vs. Lask Linz Predicted outcome: Lask Linz✅ Predicted score: 1:2 Actual: Lask Linz 1:5 #TSVHartberg#LaskLinz 2026-04-26 15:00 UTC Sturm Graz vs. Austria Vienna Predicted outcome: Sturm Graz❌ Predicted score: 2:1 Actual: Draw 1:1 #Sturm#AustriaVienna #Football#AustriaBundesliga

AI match predictions

@ai_match_prediction · Post #11660 · 22.04.2026 г., 09:05

Austria Bundesliga🇦🇹 2026-04-22 16:30 UTC Red Bull Salzburg vs. Austria Vienna Predicted outcome: Draw❌ Predicted score: 2:2 Actual: Red Bull Salzburg 3:1 #RedBullSalzburg#AustriaVienna 2026-04-22 16:30 UTC Rapid Vienna vs. TSV Hartberg Predicted outcome: Draw❌ Predicted score: 1:1 Actual: TSV Hartberg 0:2 #RapidVienna#TSVHartberg 2026-04-22 18:30 UTC Sturm Graz vs. Lask Linz Predicted outcome: Draw✅ Predicted score: 1:1 Actual: Draw 1:1 #Sturm#LaskLinz #Football#AustriaBundesliga

AI match predictions

@ai_match_prediction · Post #11601 · 19.04.2026 г., 05:07

Austria Bundesliga🇦🇹 2026-04-19 12:30 UTC Austria Vienna vs. Red Bull Salzburg Predicted outcome: Red Bull Salzburg✅ Predicted score: 1:2 Actual: Red Bull Salzburg 1:3 #AustriaVienna#RedBullSalzburg 2026-04-19 12:30 UTC TSV Hartberg vs. Rapid Vienna Predicted outcome: Draw✅ Predicted score: 1:1 Actual: Draw 2:2 #TSVHartberg#RapidVienna 2026-04-19 15:00 UTC Lask Linz vs. Sturm Graz Predicted outcome: Sturm Graz❌ Predicted score: 1:2 Actual: Draw 1:1 #LaskLinz#Sturm #Football#AustriaBundesliga

AI match predictions

@ai_match_prediction · Post #11320 · 05.04.2026 г., 05:07

Austria Bundesliga🇦🇹 2026-04-05 12:30 UTC Lask Linz vs. Austria Vienna Predicted outcome: Draw❌ Predicted score: 2:2 Actual: Lask Linz 4:1 #LaskLinz#AustriaVienna 2026-04-05 12:30 UTC TSV Hartberg vs. Red Bull Salzburg Predicted outcome: Draw❌ Predicted score: 1:1 Actual: Red Bull Salzburg 1:2 #TSVHartberg#RedBullSalzburg 2026-04-05 15:00 UTC Rapid Vienna vs. Sturm Graz Predicted outcome: Draw❌ Predicted score: 2:2 Actual: Sturm Graz 0:2 #RapidVienna#Sturm #Football#AustriaBundesliga

Russisches Haus in Berlin

@rushaus · Post #1410 · 27.09.2024 г., 10:18

🎞️ Die Verfilmung des Romans „Drei Minuten des Schweigens" vom Dissidenten und Emigranten Georgij Wladimow ist 2023 in Russland unter dem Titel „Dompfaff” rausgekommen und ist ein spannender Actionfilm vom Regisseur Boris Chlebnikov.🎥 Das Drama erzählt von dem Lebens an Bord⛴️, einem schrecklichen Sturm⛈️ und einem Generationenkonflikt: Zwei junge Studenten einer Seefahrtschule stoßen mit einem Team erfahrener Matrosen zusammen.⚓️ Seid am 3. Oktober um 19:00 Uhr dabei und erfahrt, wozu dieses Unwetter am Meer🌊 geführt hat! 📺Der Film wird in russischer Sprache mit englischen Untertiteln gezeigt. 🍿18+ 🎟️ Eintritt frei #action#drama#sturm#matrosen#russischeshausberlin#russischeskino#gratisevent#generationenkonflikt#bord#dampfaff#verfilmung#roman