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

Резултати

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

Търсене: #boycott

当前筛选 #boycott清除筛选

Boycott 巴黎奧運之餘 網上有一群遊魂, 不斷分享奧林匹克的撒旦藝術, 精力花在看鬼怪野, 正中班商界生意人和奧委會的下懷, 注意力在虛疑視覺的網上, 基本上這類慣性者, 稱為「習氣」及「著相」 , 這些群體網上對每日眾多事物蜻蜓點水, 嘴巴大, 現實中極少對社會問題採取行動及組織活動。 #boycott

Hashtags

🚨 Hypocrisy by Zaatar w Zeit Zaatar w Zeit fired an employee simply for expressing his opposition to Hezbollah. Punishing someone’s livelihood over a political opinion is intimidation and an attack on freedom of expression. No worker should be forced into silence just to keep their job. What makes this even worse is the blatant hypocrisy. Their branches in Gulf countries serve customers of all nationalities, including Israelis and reportedly employ Israelis as well. Silencing an employee at home while operating freely abroad exposes clear double standards. #boycott

Hashtags

Martin Eden

@economist_martin · Post #1198 · 15.09.2024 г., 10:03

#boycott Inbazar Oʻzbekistonda samosud qilish shu darajada normal boʻlib qolganki, hatto katta-katta bizneslarning menejmenti kuch ishlatish yoʻli bilan boshqariladi. Bunday muammolarni bartaraf etish uchun davlat qonun ustuvorligini ta’minlashi, jamoatchilik esa hukumatdan buni talab qilishi kerak. Shu bilan birga, har bir oʻzbekistonlikning oʻz ijtimoiy fuqarolik pozitsiyasi borligini koʻrsatib qoʻyish uchun Inbazarga #boycott e’lon qilish zarur! Reklamaga mlrd ketqazmaydimi, qonunga amal qilmaydigan, zoʻravonlik qiladigan bizneslar bozorda tirik qola olmasligi kerak! P.s. Orangizda bu fikrga qoʻshilmaydiganlar boʻlsa, sizlardan iltimos, hech boʻlmasa samosud qilishni normalizatsiya qilmang. Kuch ishlatish monopollashgan boʻlmas ekan taraqqiyyotdan ortda qolaveramiz.

Hashtags

幾個月來,全球支持巴勒斯坦的消費者抵制活動一直影響著星巴克和 Zara 等跨國公司。 咖啡連鎖店星巴克似乎尤其受到抵制的嚴重打擊。 自11月以來,市值已下跌110億,成交額下降了2%。 因此,該公司本月稍早在股市上大幅下跌。 據星巴克稱,抵制活動「對銷售產生了重大影響」。 有消費者不僅抵制公開支持以色列的公司,也抵制那些不承認巴勒斯坦人苦難的公司。 #actie #Gaza #boycott #palestina

Freedom Flotilla Coalition

@FFC_official_channel · Post #217 · 24.08.2024 г., 11:13

Despite relentless police brutality and state repression in Germany, Yasemin, a Kurdish-Turkish activist on the 'Handala' ship, remains unwavering in her fight for Palestinians. Born into resistance, she fearlessly confronts oppression, transforming each attempt to silence her into fuel to continue fighting for justice. Her steadfast belief in direct action and the power of collective resistance is undeterred by the dangers she has faced, which led her to join 'Handala'. Yasemin encourages all of us watching to disrupt capital and profits in order to create effective change. Download the No Thanks app, search every product before buying it, and boycott companies that support Zionism and Israel’s war crimes against Palestinians. We are never just one person. Together, it is possible to speak their language and hit them where it hurts - their wallets. #endtheoccupation#freegaza#freepalestine#endtheblockade#breakthesiege#freedomflotilla#ffc#yaseminacar#handala#berlin#bds#boycott#divest#sanction