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 подобни публикации

Търсене: #oia

当前筛选 #oia清除筛选

ИЯ / БЕЛЫЙ ЛАБИРИНТ НА КРАЮ КАЛЬДЕРЫ После перехода из Фиры Ия ощущается как награда. Сначала приходит не вид, а простое облегчение: тень, прохладный стакан фраппе, возможность сесть и наконец перестать считать шаги. А потом уже начинаешь замечать всё остальное — белые стены, узкие переулки, голубые двери, яркие пятна бугенвиллии и свет, который здесь будто работает особенно тщательно. Ия устроена как лабиринт, но не запутывает. Улочки то сужаются, то внезапно выводят к открытому краю кальдеры, где взгляд сразу уходит далеко вниз и в сторону моря. Белые дома наслаиваются друг на друга, лестницы исчезают между террасами, купола поднимаются над крышами так, будто их специально расставили для самой узнаваемой картинки Санторини. После более сурового маршрута по склонам острова Ия кажется почти нереальной. Слишком чистые линии, слишком ровный свет, слишком красивое сочетание белого, синего и камня. Но если задержаться чуть дольше, место начинает раскрываться не как открытка, а как живое пространство. Слышны шаги на лестницах, звон посуды из кафе, короткие разговоры, шум ветра между домами. Где-то внизу открывается бухта Аммуди — маленькая, плотная, почти игрушечная с этой высоты, но добавляющая пейзажу глубину и ощущение настоящей жизни за пределами главных видов. К вечеру ритм меняется. Людей становится всё больше, улицы медленно наполняются теми, кто пришёл сюда ради одного и того же момента. Ия начинает собираться на закат, как театр перед началом представления. Кто-то занимает места у стен, кто-то ищет лучший ракурс, кто-то просто стоит у самого края и ждёт, пока небо начнёт менять цвет. Самый известный вид открывается у старой венецианской крепости. Отсюда хорошо видно, как солнце уходит в море, а белые дома постепенно теряют дневную резкость и становятся мягче. Сначала в воздухе появляется золото, потом оранжевый, потом густой красноватый оттенок, и весь край кальдеры будто на несколько минут начинает светиться изнутри. В этот момент Ия замолкает не полностью, но заметно. Слышны щелчки камер, тихие голоса, чей-то смех, а потом — почти общее молчание, когда солнце касается линии горизонта. И становится понятно, почему это место превратилось в одну из самых известных точек Санторини. Не потому что здесь “красивый закат”, а потому что вся деревня будто выстроена ради этого финального света. Когда солнце исчезает, напряжение спадает сразу. Толпа оживает, кто-то аплодирует, кто-то ещё пытается сделать последний кадр, а белый лабиринт постепенно возвращается к своему обычному вечернему ритму. Ия умеет быть переполненной, шумной и очень туристической, но в правильный момент всё равно делает главное — оставляет ощущение, что день закончился на самом краю острова. 📌Микрофакт: после разрушительного землетрясения 1956 года Ия сильно опустела, но позже именно туризм вернул деревне жизнь и сделал её одним из самых узнаваемых мест Греции. #Greece#Santorini#Oia

ФИРА — ИЯ / ПО КРАЮ КАЛЬДЕРЫ Утро в Фире начинается раньше жары. Белые стены ещё не слепят, камень не успел раскалиться, в воздухе держится редкая для Санторини прохлада. Именно в это время маршрут в Ию кажется не испытанием, а правильным решением: идти по краю кальдеры, пока свет мягкий, а остров только просыпается. Первые минуты проходят почти незаметно. Тропа выводит через Фиростефани, дома остаются за спиной, и пространство быстро раскрывается. Слева — белые фасады, террасы и купола, справа — сухие склоны, впереди — длинная линия пути, которая тянется по самому краю древнего вулканического разлома. У Имеровигли масштаб становится особенно ясным. Кальдера отсюда выглядит не просто красивым видом, а следом катастрофы, который до сих пор определяет весь остров. Внизу выступает Скарос — тёмная скала, почти отрезанная от окружающего рельефа. Когда-то это была ключевая крепость Санторини, и отсюда легко понять почему: точка, которая держала под контролем море, подступы и сам остров. Дальше маршрут становится суше и тише. Белых домов меньше, открытого камня и выжженной травы больше. Тропа местами сужается, солнце поднимается выше, и шаг постепенно меняет ритм: уже не прогулка, а ровная работа тела. С одной стороны обрыв, с другой — холмы, выбеленные светом. И всё это время впереди, почти не приближаясь, маячит Ия. Иногда путь даёт короткую передышку: маленькая церковь, низкая стена, участок тени, где можно остановиться и перевести дыхание. Но главный эффект здесь не в остановках, а в постоянном присутствии моря. Оно всё время рядом, глубоко внизу, как неподвижный фон, на котором особенно резко читаются чёрные скалы кальдеры и белые линии домов. Последние километры всегда оказываются длиннее, чем кажутся на карте. Ия сначала выглядит близкой, потом снова отодвигается, и только в самом конце белые дома действительно начинают расти перед глазами. После пустых участков тропы она воспринимается почти как награда: живая, светлая, собранная на краю обрыва так, будто это финальная точка не маршрута, а целого островного сюжета. И в этом главный смысл пути из Фиры в Ию. Он нужен не только ради видов. За эти километры Санторини перестаёт быть набором открыток и становится цельным — сухим, ветреным, вулканическим островом, где красота держится на высоте, жаре, камне и огромном пространстве моря. 📌 Микрофакт: Скарос у Имеровигли был одним из важнейших укреплённых центров Санторини, пока серия сильных землетрясений не лишила его прежнего значения. #Greece#Santorini#Oia#Hiking