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

Резултати

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

Търсене: #ua

当前筛选 #ua清除筛选

27,02.26 Доброполье - Кучеров Яр Позиционные боевые действия в районе Красноармейска. Военная техника ВСУ в прицеле FPV-дрона ВС РФ в Кучеров Яре. ВСУ увеличили зону контроля на Добропольском выступе на 500 метров. 48.507097, 37.275273 Источник https://t.me/nm_dnr/15080 Геопривязка #ua

Hashtags

18.01.26 Константиновка - Новосёловка Штурм Константиновки. Бойцы группировки Юг, ведущие боевые действия на Константиновском направлении, решили зажечь. И тут с оказией подвернулась заходящая на позиции в город через северный въезд бронемашина ВСУ. У неё не осталось выбора - ей пришлось сгореть в 6-ти км от линии боевого соприкосновения. Источник https://t.me/SouthernRepublic/30164 Геопривязка #ua 📱@creamy_caprice

Hashtags

11.11.25 Часов Яр - Ступочки - Предтечино Активные боевые действия в районе Артёмовска. Атака ВСУ бронеколонной в направлении населённых пунктов Ступочки и Предтечино. Обстрел штурмовой техники со стороны ВС РФ на глазах изумлённой коровы с телёнком. Увеличение зоны контроля ВСУ около 1 км южнее Часов Яра. Источник https://t.me/motopatriot78/44401 Геопривязка #ua 📱@creamy_caprice

Hashtags

Земля

@podzemlya · Post #533 · 26.04.2022 г., 10:53

Украина, город Львов, 2012 год. 1. Тот самый южный дух средиземноморья, вид со дворов на городскую ратушу. 2. Дом колодец. 3. Кинотеатр им. Миколайчука. 4. Во дворах города. 5. Лычаковское кладбище. 6. Внутри Успенского собора. 7. Зимний Львов, женщины продают грибы и ветки елей на улицах города. 8. Декабрьский закат над городом, ночью наступит 2013 год. 9. Польские туристы в одном из храмов города. 10. Наша компания стоит у Львовской оперы, в то время пока Аня катается на заводном жирафе. #ua

Hashtags

Земля

@podzemlya · Post #523 · 25.04.2022 г., 11:51

Украина, город Одесса, 2013 год. 1. Улицы города с аллей деревьев. 2-3. Дворы города, исследуем вместе с друзьями. 4. Балкон с котами. 5. Место, где мы останавливались, судя по всему бывший пионер-лагерь или что-то подобное. 6. Черное море. 7. Слои города. 8. Рынок "Привоз", базарные часы уже закончились. 9. Я в порту Одессы. 10. Одесский театр оперы и балета #ua

Hashtags

Земля

@podzemlya · Post #522 · 21.04.2022 г., 12:41

Памятник бойцам Первой конной армии около посёлка Олеско, Львовской области. Слева кадр из видео, снятого мною в 2012 году, справа - состояние памятника в 2017 году. #ua

Hashtags

Земля

@podzemlya · Post #521 · 21.04.2022 г., 12:26

Троллейбус на улицах города Ровно, 2012 год. Снято из окна автомобиля во время поездки во Львов. #ua

Hashtags

Земля

@podzemlya · Post #511 · 20.04.2022 г., 17:34

Фотографии 2012-2013 годов. Часть 1 1. Вагон поезда Москва-Одесса. Я на пути в Киев. 2. Дом с химерами на улице Банковой. 3. Район Позняки и радуга, слева внизу виден пруд, у которого по вечерам кипели бесконечные пьянства. 4. Центральный вокзал Киева в преддверии Чемпионата Европы по футболу. 5. Мужчина с плакатом о поиске работы около центрального вокзала Киева. 6. Вагон Киевского метро. 7. Моя подруга Аня смотрит на Днепр с Труханова острова. 8. Киевская телебашня. 9. Аня и Киевское водохранилище. 10. Панорама района Позняки. В комментариях прикладываю эту фотографию в максимальном качестве, вдруг кому-то будет интересно ее пристально поглядеть или найти знакомое окно. #ua

Hashtags

Земля

@podzemlya · Post #493 · 19.04.2022 г., 14:04

В 2013 году побывал на праздновании 9 мая в Киеве. Днем это было шествие по Хрещатику каких-то партий, союзов и объединений. Музыкальные выступления небольших военных хоров и ансамблей. Ближе к вечеру был парад, без современной военной техники, а со строем солдат, одетых в форму образца 1940x годов, был так же один танк Т-34, который тарахтел и, пуская клубы дыма, прополз мимо удивленной толпы. Ближе к концу шел строй современной украинской армии, подчеркивая свою преемственность, наверное. Самое большое количество людей собралось на Майдане Незалежности, когда небо потемнело и стало отличным полотном для предстоящего фейерверка. Мы стояли завороженные под вспышками его огней, кто же знал тогда, что это последние яркие вспышки общего для двух стран праздника. Неожиданно для себя стал свидетелем последнего для Киева парада 9 мая. После 2014 года этот день для Украины обрел другой смысл, а после февраля 2022 года - в его современном обличий наверняка будет забыт, мною в том числе. #ua

Hashtags

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