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

Резултати

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

Търсене: #cheremoshnoye

当前筛选 #cheremoshnoye清除筛选
DruschbaFM - English

@druschbaFm_en · Post #52510 · 25.03.2025 г., 08:03

⚡️ 🇷🇺 🇺🇦⚔️ Ukraine Fronts on the Morning of 25 March⚡️ 🔴#Sumy Direction: 🔴In #Sudzha Sector, to the west on Ukrainian lands, for the claimed RFAF entry into #Vladimirovka is still confirmation or other proof missing (so, the black arrow on map turned blue). 🟡 At #Veselovka, the RFAF crossed the border and entered the settlement (1st black arrow). 🟡 For #Zhuravka, the battle continues. 🟡 In #Basovka, as well. 🟡#Novenkoye, is under safe RFAF control (1st red arrow). 🟡 In #Kursk region, according to unconfirmed reports, the RFAF took the 'Sudza Gas Transmission Point' and a battle for the checkpoint is taking place (4th black arrow). 📌 If true and the RFAF wins, a cauldron could form. 🟡#Gogolevka is likely still under AFU full control (2nd blue arrow). 🟡 In #Melovoy, the battle likely continues (5th black arrow). 🟡#Oleshnya, #Guyevo and #Gornal remain under AFU control for now (4 large blue arrows on map). 🔴 In #KrasnayaYaruga Sector, the AFU tried to take #Popovka (6th black arrow) to outflank the embattled #Demidovka (7th black arrow). In the course of the battle, Russian border guards defeated AFU special forces and got later on evacuated by reinforcement. The battle for both villages continue. The situation is dynamic. Further AFU action is likely. 🟡#Grafovka, remains under RFAF control. 🟡#Prilesye as well. 🗺 All on Map 1 🔴 In #Kharkov Direction, on #Svatovo Front, in #ChasovYar and #Kherson Directions, the battles continued without major changes. 🔴#Pokrovsk Direction: 🔴 On the right Flank, far east, the RFAF took #Aleksandropol and entered #Panteleymonovka's southeastern part north of it. Reportedly the latter has also been taken (unconfirmed). The assaults are towards #Toretsk in the north. 🟡 From #ZelenoyePole, further west, the RFAF advanced (unconfirmed) ca. 600 m towards #Aleksandropol2nd. 🟡 In #Tarasovka, reportedly there was also a Russian progress. 🔴 South of the City, fierce fighting is taking place. 🟡 For #Shevchenko, the battle continues in its northeastern part. 🟡#Peschanoye came under RFAF control (unconfirmed). 🟡#Kotlino as well. 🔴 On the left Flank, north of #Udachnoye, the RFAF are assaulting the mine. 🟡 In #Udachnoye, Russian troops consolidated in the eastern settlement part. 🟡 In #Solyonoye, to the south, the AFU have entered the western part of the settlement. 🔴#Komar Direction: 🔴In #Konstantinopol Sector, the battles continued. 🔴 In #Komar Sector, the RFAF have advanced towards the settlement of #VolnoyePole and entered its eastern outskirts. 🔴#Zaporozhye Direction: 🔴For the #Orekhov Section, we are forced to correct the situation based on confirmed data and video evidence. 🟡#Shcherbaki is likely completely AFU controlled. 🟡 Nearby #MalyeShcherbakito the west continues to be contested. The RFAF hold positions in the south of the village. 🟡#Stepovoye's alleged takeover did not take place. The Russians have entered the village several days ago. Heavy fights are ongoing. 🗺 Map 2 🎬 Video 1 🟡#Lobkovoye to the south is contested. The current situation is unclear. The Russians have at best entered its southeastern edge. 🟡 For #​​Pyatikhatki's alleged takeover, confirmation or video evidence is still missing. The AFU is likely still present in the western part of the village. 💥#OldRussia: 🔵In #Belgorod Region, the AFU targeted the civilian population in #Shebekino town and in the villages of #YasnyeZori and #Cheremoshnoye. In the area of #Mikhaylovka (#LPR), the AFU killed 6 people, 3 among them journalists, in a double HIMARS strike. 💥#RestUkraine: 🔵 On #Kiev,#Poltava and #Izyum regions, the RFAF carried out strikes. In #Sumy region, a missile has hit militants and equipment in the residential area. 🎬 Video 2 🎞 Vids Source 1; Source 2; 🗺 Maps @olegtsarov; @creamy_caprice 📋 Sources: CC; Tsarov; ⚡️2M; 🇺🇦Fiend;😼Kotenok 🕰As of 25 Mar 2025; 06:32 GMT+3;📃24 Mar 📱 Join GLOBAL DEPTH to boost your TG Feed 💬Join Military Chat for Comments & Discussions 🇺🇦On Ukraine Observer you will find your daily independent Ukraine War Battle Update