@artematizando · Post #3940 · 30.03.2022 г., 12:02
Frederic Edwin #Church, The Star in the East (1860)
Hashtags
TGINSIGHT SIMILAR POSTS
Изходен канал @clockstackwheels · Post #721 · 26.12
Почему я люблю языки с сильной системой типов, проверяемой статическим анализом кода — хорошо написанная программа является своей собственной спецификацией и позволяет выражать через язык программирования законы существования предметной области. Когда-то давно я писал на ActionScript. Там была система типов, но вот десериализация JSON'ов по-умолчанию была в какой-то общий Object, к полям которого нужно было обращаться ["по_строковому_имени"]. В один момент мне потребовалось написать что-то на C#, который я совсем не знал, я стал гуглить, как десериализовать JSON, и с удивлением обнаружил кучу советов заранее объявить класс со всеми нужными полями и десериализовать в него. "Какой ужас!", — подумал я тогда, — "Это же дико неудобно! А если я не знаю полей JSON? А если их много? Отвратительный язык!" Теперь то я прекрасно понимаю, что JSON это контракт, и что правильная десериализация только такая и должна быть, и что в хорошем API в одном поле никогда не бывает данных принципиально разных типов, и так далее. Нет, если вы набиваете вечерами пет-проект или сидите бессонную ночь на хакатоне, нет ничего плохого в том, чтобы взять простой язык с динамическими типами вроде JavaScript или Python, не требующий описывать данные. Но вот в энтерпрайзе, особенно когда над одним проектом работает много людей (а бывает это очень часто) — хорошее использование системы типов убережёт разработчиков от огромного количества ошибок, будет бить их по рукам, когда они пытаются сделать что-то не то, и будет подсказывать, когда они не уверены в чём-то. С помощью статической типизации можно на уровне кода обозначить правила, по которым ведёт себя предметная область вашей программы в реальном мире. Разработчику не только будет сложно их нарушить, но он ещё и станет узнавать какие-то вещи, которые мог не знать раньше. Например, если мы делаем медицинскую CRM, и больница заводит новых пациентов только тогда, когда знает их группу крови, мы можем объявить тип "Пациент" (или, если точнее, "Карта пациента") и запретить создавать экземпляры этого типа, не передав в конструктор группу крови (которая, в свою очередь, тоже является типом, вероятнее всего ValueObject'ом). Если новый программист пришёл в проект, он, во-первых, не сможет записать в БД некорректную карту пациента. Понятно, мы не учитываем случаи, когда новый программист переделывает модели предметной области — это будет хорошо видно на кодревью. А, во-вторых, даже если ему никто не сказал, что пациенты должны быть с группой крови, он узнает это из кода. И уже будет понимать, что в тех процессах реальной жизни, которые он описывает кодом, карта пациента создаётся только при наличии группы крови. А, значит, нужно искать какой-то способ сначала эту группу крови получить, и только потом создавать карту. Программирование моделирует реальный процесс. В настоящей работе даже на языках с типами, конечно, без должного контроля можно написать что угодно. Нужна управленческая воля, компетентность руководства, понимание опасности техдолга, в идеале отдельные должности для архитекторов, опытные лиды и старшие разработчики. Но когда всё это есть, можно отсекать много проблем ещё на старте и проще погружать новичков. #dev
Hashtags
Търсене: #church
@artematizando · Post #3940 · 30.03.2022 г., 12:02
Frederic Edwin #Church, The Star in the East (1860)
Hashtags
@SNVnew · Post #2516 · 18.04.2025 г., 07:35
Сегодня Великая Пятница. Служба в воспоминание страстей Христовых, наполненная скорбным ощущением от сопереживания страданий Христа. Тайная вечеря, последние беседы, Гефсимания и крики «распни, распни Его!» Звучащий внутри вопрос апостола Петра: «Господи, кто есть предаяй тя?»— не оставляет равнодушным тех, кто слышит эти слова в наши дни. Не я ли предаю Христа? Не я ли с теми, кто Его осудил? Фотографии с Пассии, в Академии на Неве. #church
Hashtags
@SNVnew · Post #2502 · 16.04.2025 г., 14:10
Литургии Преждеосвященных Даров. Сейчас богослужебный цикл завершает свой постный характер. В Великую среду мы слышали молитву Ефрема Сирина и служили Литургию Преждеосвященных в последний раз. Это замечательное и по своему особенное время. Евхаристия как «дар свыше» преподается верующим, проходящим свой постный подвиг, который уже сейчас подходит к концу. Фотографии богослужения Великого вторника в Академии на Неве.🥰 #church
Hashtags
@SNVnew · Post #1588 · 21.11.2024 г., 04:39
«Все вы во Христа крестившиеся, во Христе облеклись. Аллилуйя» Крещение в храме Всех Скорбящих Радосте, на Обуховской обороне #church
Hashtags
@incophotos · Post #674 · 15.10.2025 г., 09:24
Иерусалим. Крестный путь. Храм Гроба Господня. (Часть 2) Иерусалим - город святынь, не зря одно из его названий «Святая Земля». Там, где ходил Христос, ходили и мы: Претория, Узы, Голгофа, Гроб Господень— истории из этих мест, я пытаюсь изложить в своих фотографиях. #church
Hashtags
@incophotos · Post #614 · 12.07.2025 г., 17:25
Праздник первоверховных апп. Петра и Павла на Смоленке❤️ #church
Hashtags
@incophotos · Post #604 · 09.07.2025 г., 20:40
Воскресенье, Свирский монастырь В это воскресенье, по доброму приглашению своего друга — а по совместительству уже отца Романа, фотографировал его хиротонию. Отец Роман ( он @seyzerr автор легендарного канала POP.art !) был и остаётся для меня примером для подражания. Его работы, как фотографа, часто побуждали и вдохновляли меня также творить, учиться и познавать что-то новое, в такой для меня необъятной сфере, как фотография — за это ему — Спасибо! А в общем и целом, отец Роман прекрасный человек 🖤 Ему по-настоящему Ἄξιος!💐 #church
Hashtags
@incophotos · Post #564 · 07.06.2025 г., 16:09
«Безумием мнимым безумие мира обличивши» Летний праздник св. Ксении Блаженной на Смоленке🌷 #church
Hashtags
@incophotos · Post #555 · 28.05.2025 г., 11:09
Отдание Пасхи Заканчивается период празднования Пасхи,в сердце до сих пор звучит заветное «Христос Воскресе!». Эта победа над смертью явилась центром христианского сознания, ведь всюду жизнь и «жизнь с избытком». Фотографии с пасхальных богослужений в Академии на Неве #church
Hashtags
@incophotos · Post #539 · 26.04.2025 г., 09:09
Пасха Христова. Светлая Пятница и праздник иконы Божией Матери «Живоносный Источник» Храм Спаса на Каменке❤️ #church
Hashtags
@incophotos · Post #531 · 18.04.2025 г., 06:09
Сегодня Великая Пятница. Служба в воспоминание страстей Христовых, наполненная скорбным ощущением от сопереживания страданий Христа. Тайная вечеря, последние беседы, Гефсимания и крики «распни, распни Его!» Звучащий внутри вопрос апостола Петра: «Господи, кто есть предаяй тя?»— не оставляет равнодушным тех, кто слышит эти слова в наши дни. Не я ли предаю Христа? Не я ли с теми, кто Его осудил? Фотографии с Пассии, в Академии на Неве. #church
Hashtags
@incophotos · Post #523 · 16.04.2025 г., 14:09
Литургии Преждеосвященных Даров. Сейчас богослужебный цикл завершает свой постный характер. В Великую среду мы слышали молитву Ефрема Сирина и служили Литургию Преждеосвященных в последний раз. Это замечательное и по своему особенное время. Евхаристия как «дар свыше» преподается верующим, проходящим свой постный подвиг, который уже сейчас подходит к концу. Фотографии богослужения Великого вторника в Академии на Неве.🥰 #church
Hashtags