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

Резултати

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

Търсене: #telegramthursday

当前筛选 #telegramthursday清除筛选

It's 'Telegram Thursday' and I want to recommend interesting channels. Today I was recommended a pretty fine channel, which focuses on Paganism: https://t.me/s/pagan_revivalism @Pagan_Revivalism Check it out and share if you like the content! The second channel I enjoy to check out every now and then is this one: https://t.me/s/folkwisdom @folkwisdom Pretty interesting forwards sometimes, from accelerationism to white pills. #TelegramThursday @EuropeanTribalism

It's 'Telegram Thursday' and I want to recommend interesting channels. Today I want to point out a channel dedicated to Germanic topics with lots of own content: https://t.me/s/oakwhispers @oakwhispers Give the creator a chance and check it out! It's important that we have channels like this, which add own content instead of plain forwarding. #TelegramThursday @EuropeanTribalism

It is 'Telegram Thursday' and I want to recommend you interesting channels. Today I would like to recommend a couple of channels I regularly read. No, not just content skipping, but actually reflecting on the content: https://t.me/tribeofthefox https://t.me/GreekLeague https://t.me/folkwisdom https://t.me/skogarvordurinn Go ahead and check them out! #TelegramThursday @EuropeanTribalism

It is 'Telegram Thursday' and I want to recommend you interesting channels. Today I would like to point out the channel from a lad I know from the time I was still on Twitter: https://t.me/AureusPress There is art, neo-futurism and quite some gems to be found on this channel. So go and check it! #TelegramThursday @EuropeanTribalism

I am not sure if everybody is aware that you can access all Telegram channels without having Telegram installed. You want to visit your favourite channel @EuropeanTribalism over your web browser? Try this: https://t.me/s/EuropeanTribalism You want to share the fantastic articles from @solarcult? Try this: https://t.me/s/solarcult Want to read one of @morrigancarrick's memes? Just add a number, which is the article ID at the end. Try this: https://t.me/s/morrigancarrick/533 Share it with your Telegram-free friends! #TelegramThursday @EuropeanTribalism

It's 'Telegram Thursday' and I want to recommend you some interesting channels: @PrimordialPath - a very interesting channel with straightforward opinions and views. If you are into Folk Futurism, go and check it out! @Solarcult - a channel devoted to mythology, history and Aryan heritage. Definetly worth a follow. @VolkischShakti - this channel focuses on information about female deities. If you are into mythology, it's worth to read it. Be sure to share quality content when you find it! #TelegramThursday @EuropeanTribalism

It is 'Telegram Thursday' and I want to recommend you some interesting channels: @philosophicat, who also runs a youtube channel by this name, adds a very unique perspective to current happenings. Also check out her series on Evolas 'Revolt Against the Modern World'! @aryologia has lots of interesting content if you are interested in Indo-Aryan culture. @mythologicalfact focuses on Vedic content. If you want to extend your knowledge about ancient myths, be sure to give them a follow. @getthispdf is my channel for collecting interesting eBooks for the topics physics, spirituality and history. If you want a good read, check it out. Be sure to share quality content when you encounter it! #TelegramThursday @EuropeanTribalism

It's 'Telegram Thursday' and I want to recommend you interesting channels. Today marks the first of a series of recommendations, based on the various expressions of European culture. We start with a channel, which focuses on the Slavic aspect: https://t.me/THEOLDWAYS Have a look and follow! #Slavic#TelegramThursday @EuropeanTribalism

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