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

Резултати

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

Търсене: #venus

当前筛选 #venus清除筛选

🚀 Acum 50 de ani, la 22 octombrie 1975, stația automată interplanetară sovietică „Venera-9” a efectuat o aterizare lină pe suprafața planetei Venus. Legătura cu modulul de coborâre a fost menținută timp de 53 de minute. Au fost obținute primele imagini panoramice din lume transmise de pe suprafața altei planete. Tot pentru prima dată au fost efectuate măsurători ale vitezei vântului la suprafața planetei. „Venera-9” a devenit, de asemenea, primul satelit artificial al planetei #Venus din istorie. Această misiune a reprezentat o realizare remarcabilă a științei și tehnicii sovietice, confirmând pozițiile de vârf ale URSS în domeniul explorării spațiale. Datele obținute de „Venera-9” privind temperatura, presiunea și compoziția atmosferei planetei au constituit o contribuție esențială la dezvoltarea planetologiei mondiale. Astăzi, la 50 de ani de la acel eveniment, fapta eroică a inginerilor și oamenilor de știință care au creat „Venera-9” rămâne un simbol al curajului științific și al dorinței omenirii de a cunoaște Universul. 🇷🇺 Rusia este mândră de școala sa spațială, una dintre pietrele de temelie ale istoriei mondiale a explorării cosmosului. 📸 Foto: primele imagini din istorie realizate de pe suprafața planetei Venus, 1975.

Hashtags

Pensive|

@PensivePost · Post #5863 · 14.07.2022 г., 09:57

#review#poetry#venus My mother Blessed with all the might To tolerate my naiveness Blessed with all the courage To withstand my mistakes Amidst she stands with all the beauty With all the light behind her eyes She shows me the way Though are beliefs aren't ever the same Yet she acknowledges my vision When I stumble upon in life She has the weight to balance Encountering all my questions away Believe me or not she's the best in her way No she isn't the very person I'd remember in my toughest times And despite all my dislikes I believe she's the strongest woman I'll ever meet in my life

Pensive|

@PensivePost · Post #5850 · 09.07.2022 г., 06:00

#review#poetry#venus My mother Blessed with all the might To tolerate my naiveness Blessed with all the courage To withstand my mistakes Amidst she stands with all the beauty With all the light behind her eyes She shows me the way Though are beliefs aren't ever the same Yet she acknowledges my vision When I stumble upon in life She has the weight to balance Encountering all my questions away Believe me or not she's the best in her way No she isn't the very person I'd remember in my toughest times And despite all my dislikes I believe she's the strongest woman I'll ever meet in my life

Pensive|

@PensivePost · Post #5819 · 09.06.2022 г., 18:09

#review#poetry#venus Just got away with one Opened a new door Shaped a little fantasy With numerous miracles to adore Stayed with anger so long Realised it was my grief Hadn't it made me this strong I would've stumbled upon in brief Earned a little patience Coiled up with jist of tolerance Tore a few tied interests As a result of unfulfilled wishes Now I can see cure as perception Witnessed fear, failure and hatred all the same So now I wish to love and to be loved Solemnly, perfectly as a beautiful exception Here I stand amidst all wonders Drifting with the flow of life what I've gained as a blessing to realise For one's finest survival mere love would suffice

Pensive|

@PensivePost · Post #5801 · 04.06.2022 г., 15:57

#review#poetry#venus In this world of surprises My life took a turn and I met you Blessed with happiness you took me to the moon But oh my mistrustfulness You left me in a few So For the sake of forgiveness I have an apology I don't know what's wrong with me Still I say I'm sorry , really I'm sure I caused a headache For I'm trying to get distant But I promise I'll try harder But will you have my back at ends??

ПредишнаСтр. 1 от 3Следваща