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

Резултати

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

Търсене: #development

当前筛选 #development清除筛选
Bali News

@balinews · Post #462 · 12.07.2025 г., 12:15

🏭Bali reduces dependence on Java: the island will build its own power plants 📰 Bali is on the verge of energy independence: the authorities are launching several projects to build their own power plants. Gas stations in Denpasar and Gianyar, as well as two new units on the north coast, will provide the island with 1.5 GW of power by 2029. ℹ️ This will make it possible to abandon vulnerable underwater cables from Java and eliminate the risk of large-scale blackouts. Residents are being urged to support the initiative by installing solar panels and switching to renewable energy sources. #development@BaliNews

Hashtags

The Telegram Times

@TheTGTimes · Post #142 · 11.11.2023 г., 10:14

📰The popular Android developer, Xaxtix, parted ways with Telegram. In the release of the latest versions of Telegram Android, we find that Ilya Samorodov is ​​no longer active in the development of Telegram. Read more on iDubTG #Development 👉The TG Times

Hashtags

Bali News

@balinews · Post #484 · 21.08.2025 г., 11:15

🎰Bali governor rejects casino construction despite promised 100 trillion rupiah 📰 Bali Governor Wayan Koster has stated that he rejects the proposal to create a legalized casino, even despite the potential profit of 100 trillion rupiah. 🛕 According to him, the refusal is dictated by the principles of cultural tourism development, on which the island's economy is based. 🤔 At the same time, according to some analysts, the location of casinos in new areas, for example, near the northern airport under construction, could accelerate the development of these territories. And if it later turns out that casinos really do interfere with cultural tourism, they can always be closed. #places#development@BaliNews

Bali News

@balinews · Post #466 · 19.07.2025 г., 11:35

🌊Bali will build a kilometer-long promenade from Changgu to Cemagi 📰 A kilometer-long promenade will appear along the coast between Canggu and Cemagi by 2026. It will rehabilitate the eroded shoreline, create a wide pedestrian path and recreational areas. 📍 The cultural center will be the area near the Batu Ngaus temple, where a stage for kechak dances is planned. Traders will be distributed among the new pavilions to make the beaches convenient for both visitors and entrepreneurs. #places#development@BaliNews

Bali News

@balinews · Post #455 · 06.07.2025 г., 14:05

🏭The largest battery production project in Indonesia has begun 📰 Contemporary Amperex Technology Co. Limited (CATL), the world's largest manufacturer of batteries for electric vehicles, has begun a large-scale project in Indonesia to create production facilities and an ecosystem related to the production of electric vehicles. 🧲 The investment is estimated at $6 billion. ℹ️ According to Indonesian Minister of Energy and Mineral Resources Bahliola Lahadalia, this is the first project of its kind and scale in the world. The launch of electric vehicle battery production is one of 18 large-scale industrial projects planned for implementation in Indonesia in the coming years. Together, they are estimated to be worth nearly $45 billion. The projects will be implemented in the areas of nickel and bauxite production, as well as gasification, oil refining, and the creation of oil storage facilities. Some of the initiatives will affect fishing, agriculture, and the forestry industry. #business#development@BaliNews

djangoproject

@djangoproject · Post #136 · 01.09.2016 г., 19:13

http://astrocodeschool.com/ Astro Code School is respected by tech firms and universities for a reason: we’re founded and staffed by a leading #web#development firm, Caktus Group. Our team interacts daily with the inner workings of Caktus so we see the trends and best practices that will make you job ready. If you’re prepared to launch a new career with the real-world technical depth employers seek, Astro is right for you.

Go

@golang · Post #76 · 29.01.2019 г., 13:16

Errors in Go: From denial to acceptance Learn how to stop worrying and love error handling in Go. Author of Overmind and imgproxy describes his journey through all five stages of Kübler-Ross model—from denial to acceptance—as he went deeper into the language, and shares his favorite patterns for dealing with errors in Go code. #development#language https://evilmartians.com/chronicles/errors-in-go-from-denial-to-acceptance

Go

@golang · Post #73 · 17.01.2019 г., 15:59

Ok, I’m online again so Happy New Year for everyone 🎈 The first article that I want to share this year is about channels design in GoLang, their structure and internal operations. Enjoy the reading! #development#language https://codeburst.io/diving-deep-into-the-golang-channels-549fd4ed21a8

Go

@golang · Post #71 · 09.10.2018 г., 08:39

Hello, there! One GoLang feature proposal about immutability is here 🙂 It’s a really interesting idea with pros and cons inside, it has a good explanation, use cases and examples for the following proposed changes: fields, arguments, variables, return values, methods reference types (Pointers, slices, maps, channels). This approach merits attention if you are interested in paths of GoLang development, so, have a good reading! 😉 #language#development https://github.com/romshark/Go-1-2-Proposal---Immutability

Go

@golang · Post #62 · 22.05.2018 г., 16:28

“Should I Rust, or Should I Go” - this is an article with a quick comparison of Golang and Rust code styles, features and conveniences of usage. #language#development https://codeburst.io/should-i-rust-or-should-i-go-59a298e00ea9

Go

@golang · Post #57 · 11.04.2018 г., 13:25

Good day 👋 I would like to share following 7 advices in short article by Kartik Khare how to increase your code quality in GoLang. Of course, before using it you should understand reasons for each advice in the post. As example Kartik writes: #6 Use int as keys instead of strings in Map. It’s a good way but here we can get optimization for optimization 🤔 #development#language https://codeburst.io/how-to-optimise-your-go-code-c6b27d4f1452

123•••10•••1213
ПредишнаСтр. 1 от 13Следваща