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

Резултати

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

Търсене: #recycleright

当前筛选 #recycleright清除筛选
NEA Singapore

@NEASingapore · Post #1167 · 12.11.2025 г., 01:02

Only fully emptied aerosol cans should go in the blue recycling bins. Partially filled ones pose fire hazards and can cause explosions or fires. 💡Tip: Press until you can no longer hear a hissing sound! Visit go.gov.sg/recycling-guide to learn how to #RecycleRight and prevent fires in recycling bins and trucks.

NEA Singapore

@NEASingapore · Post #706 · 29.11.2023 г., 01:00

Items that contain food or drink residue cannot be recycled. They may even contaminate other recyclables, putting everyone’s good effort to waste! Remember to empty and rinse your bottles or drink cans before recycling them. Let's #RecycleRight! ♻️🌟

NEA Singapore

@NEASingapore · Post #695 · 30.10.2023 г., 04:31

Explore refreshing new adventures in the world of sustainability by joining us on Lemon8. Let’s leave a trail of green footprints as we learn together, discover useful hacks and crafts, #RecycleRight guides and tips, and much more! Follow us at go.gov.sg/nea-lemon8 (or search for nea_sg), and let's sprinkle some citrusy eco magic together!

NEA Singapore

@NEASingapore · Post #557 · 01.06.2023 г., 01:02

Missed the nationwide Bloobox distribution? Good news! You can collect it at selected libraries on weekends this June, and learn more about how you can start a recycling corner at home and #RecycleRight. While stocks last!

NEA Singapore

@NEASingapore · Post #534 · 04.04.2023 г., 03:30

Planning to collect a Bloobox? Don’t forget to check the stock levels before heading down: https://www.gowhere.gov.sg/bloobox Together, let’s #RecycleRight: https://www.go.gov.sg/recycleright

NEA Singapore

@NEASingapore · Post #518 · 18.03.2023 г., 01:15

It’s Global Recycling Day, so let’s be reminded to #RecycleRight! If you’re not sure whether an item can be recycled, check with Bloobin: www.cgs.gov.sg/recycleright/check-my-item

NEA Singapore

@NEASingapore · Post #517 · 17.03.2023 г., 02:22

From 19 Mar to 30 Apr 2023, all households can collect a free Bloobox to start the habit of recycling at home. It also comes with guidelines on what can be recycled. Let’s #RecycleRight! More info at www.gowhere.gov.sg/bloobox

NEA Singapore

@NEASingapore · Post #502 · 05.02.2023 г., 02:01

As the Lunar New Year festivities come to an end, let’s recycle what we can! Instead of throwing away plastic containers that were used to contain the goodies, reuse or recycle them. Not sure whether an item can be recycled? Find out at www.cgs.gov.sg/recycleright/check-my-item #RecycleRight

NEA Singapore

@NEASingapore · Post #473 · 09.12.2022 г., 00:20

Are they friend or foe? Bloobin and the E-Waste Recycling Bin are working towards the same goal – to minimise waste and helping Singapore become a Zero Waste Nation. Here’s a quick guide to get to know them, so that you can #RecycleRight! go.gov.sg/recycleright

NEA Singapore

@NEASingapore · Post #380 · 12.07.2022 г., 07:05

Not sure what to do with your e-waste? Check out the infographics below to find out what you can recycle, and how to recycle. More information at https://go.gov.sg/e-waste#RecycleRight

123•••56
ПредишнаСтр. 1 от 6Следваща