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

Резултати

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

Търсене: #conscience

当前筛选 #conscience清除筛选
Freedom Flotilla Coalition

@FFC_official_channel · Post #293 · 28.05.2025 г., 05:14

The Freedom Flotilla Coalition invites you to join us from May 30th to June 1st in Catania, Sicily, Italy, as we stand together in solidarity to launch our new mission, the ‘Madleen’. The summit will be happening in Porto di San Giovanni li Cuti, where we will stand in solidarity with the Palestinian people in a series of panels, cultural programs, and community gatherings. The ‘Madleen‘ will sail to break Israel's illegal siege as we bring humanitarian aid, hope, and solidarity to Gaza. The world stands united against the deliberate starvation, genocide, Apartheid, colonial occupation, and the ethnic cleansing of the Palestinian people. Join us! Let's sail in spirit and solidarity. Free Palestine! #FreedomFlotilla#BreakIsraelsSiege#EndTheBlockade#StandWithGaza#AllEyesOnDeck#Madleen#Conscience

Freedom Flotilla Coalition

@FFC_official_channel · Post #307 · 29.05.2025 г., 09:52

Meet just some of the panelists, volunteers and supporters that will join us as we launch the ‘Madleen’ that will sail in a matter of days to break Israel's illegal siege of Gaza. We urge media, press and supporters to join us in Catania, Sicily - your coverage and solidarity is critical in helping ensure our safety. March with us. Make noise with us. Show the world that Europe will not be silent. Share our content. Make it impossible for every politician, for the European Union and media to ignore what is happening in Gaza. Make it impossible for them to ignore the voice of the people, to ignore this mission, and to ignore this moment. #BreakTheSiege#BreakIsraelsSiege#AllEyesOnDeck#EndTheBlockade#StandWithGaza#AllEyesOnDeck#Madleen#Conscience

Freedom Flotilla Coalition

@FFC_official_channel · Post #352 · 02.06.2025 г., 02:37

Meet the 12 volunteers from around the world, who are sailing on 'Madleen' in the Freedom Flotilla Coalition's steadfast mission to break Israel's illegal siege of Gaza and establish a people's sea corridor: Baptiste Andre 🇫🇷 Greta Thunberg 🇸🇪 Şuayb Ordu 🇹🇷 Mark van Rennes 🇳🇱 Omar Faiad 🇫🇷 Pascal Maurieras 🇫🇷 Reva Viard 🇫🇷 Rima Hassan 🇫🇷 Sergio Toribio 🇪🇸 Thiago Ávila 🇧🇷 Yanis Mhamdi 🇫🇷 Yasemin Acar 🇩🇪 Let their names be known, as they hold the people's hearts and courage, and carry solidarity to Palestinians in Gaza. #AllEyesOnDeck#Madleen#Conscience#BreakTheSiege#EndOccupation#FreePalestine#FreedomFlotilla

Freedom Flotilla Coalition

@FFC_official_channel · Post #821 · 08.10.2025 г., 04:49

The Israeli military has attacked our flotilla. We call on all our governments and people of the world to condemn Israel’s crimes against humanity, and to demand the immediate release of all abducted crew. Our governments must end Israel’s illegal blockade and ongoing genocide of Gaza. 🚨 Take action NOW: •Tag, email, and call your Ministry of Foreign Affairs and elected officials • Join or organise a protest in your city • Boycott Israeli products and companies • Pressure your government to enforce an arms embargo and diplomatic sanctions on Israel • Pressure institutions and your work place to divest from and sanction Israel • Use the 'RISEFOR' campaign to pressure your government in 2 minutes • Donate or join the next wave of flotilla - we will not stop until Palestine is free. Share this call widely on social media and with your network #BreakIsraelsSiege#ActNow#Conscience#GazaFreedomFlotilla#ThousandMadleensToGaza#FreePalestine

Freedom Flotilla Coalition

@FFC_official_channel · Post #282 · 22.05.2025 г., 08:57

We will sail. Since our ship was attacked on May 2, Israel has killed nearly 2,000 more Palestinians. Meanwhile, 14,000 babies now face imminent death from hunger due to Israel’s deliberate starvation campaign. This is the cost of global impunity. But we refuse to back down. The ‘Madleen’ will sail soon. She may be small, but her mission is powerful: To break the silence. To challenge Israel’s illegal blockade through nonviolent direct action. To stand firmly and unapologetically, with Gaza. JOIN US. Registrations are open for experienced and committed captains, crew, volunteers, and boat owners. You will be vetted and contacted only if successful: https://bit.ly/joinfreedomflotillaform To those who can help us on land, sign our petition for an investigation into the attacks, demand your governments ensure safe passage for the 'Madleen’, and share this journey - because the more eyes on us, the safer we are. #WeWillSail#Madleen#Conscience#FreeGaza#EndTheSiege#AllEyesOnDeck#StopArmingIsrael

Freedom Flotilla Coalition

@FFC_official_channel · Post #279 · 21.05.2025 г., 08:19

Israel’s attack on an unarmed humanitarian vessel in European waters, and the government silence that followed, is part of a wider pattern: 19 months of Israel's relentless violence in Gaza and 77 years of impunity across occupied Palestine. While Malta’s newly released report confirms what we already knew, there has still been no condemnation issued. No investigation. No accountability. As we prepare to sail again with ‘Madleen’, we do so knowing our ships remain targets, not only of Israeli aggression but of global inaction. We call on governments to guarantee safe passage, on media to report the truth, and on people everywhere to demand an end to Israel’s siege and ongoing genocide: – Share this post and tag the EU Commission and your MEPs – Sign our petition to demand an independent investigation – Demonstrate at weapons manufacturers – Keep #AllEyesOnDeck as ‘Madleen’ sails #BreakTheSiege#EndTheBlockade#StandWithGaza#StandWithPalestine#EU#Malta#Conscience