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 подобни публикации

Търсене: #roband

当前筛选 #roband清除筛选
KNAUF Uzbekistan

@knaufuzbekistan · Post #277 · 27.07.2021 г., 03:00

​​👷‍♂️Q3 sirtining sifatiga hech ikkilanmay hammabop deb taʼrif berish mumkin, chunki u binolarning ichki taʼmirida oʻzingiz oʻylagan gʻoyalarning koʻpchiligini amalga oshirishingiz uchun juda mos keladi. Q3 boʻyicha qanday talablar mavjud? – Uzunasiga 2 m uchun vertikaliga 1 mm ogʻish mumkin – Silliqlash abrazivlarıdan qolgan koʻrinarli (0,3 mm gacha) izlar boʻlishi mumkin – Ustidan shpaklyovka qilingan ulangan sohalarda 0,3 mm gacha tirqishlar qolishi mumkin – Yon tomondagi yorugʻlikdan soya tushishi mumkin (Q2 ga qaraganda ancha kam) – Koʻzga tashlanadigan oʻyiqlar, yedirilishlar va uskunalardan qolgan izlar boʻlmasligi kerak – Shpaklyovka aralashmasi hosil qilgan doʻngchalar boʻlmasligi kerak 🧐Qanday qilib sirtga berilgan ishlovning sifatlilik darajasini aniqlash va qilingan ish natijasidan qoniqish mumkin? Q3 – bu sizga quyidagi variantlardagi yakuniy qoplamalarni qilish kerak boʻlganda qoʻl keladi: – Mat boʻyoq – Yupqa oboylar – 1 mm dan mayda donli dekorativ suvoq Sizga qulaylik yaratish uchun KNAUF yuza taʼmiri sifati boʻyicha eng past daraja – Q1 dan, eng yuqori, premium daraja – Q4 gacha tabaqalanuvchi Q1-Q4 (“Q” – nemischa Qualität, yaʼni sifat soʻzidan olingan) tizimini ishlab chiqdi. U quruq qurilish uchun ham, suvoq asosidagi tizimlar uchun ham mos keladi. Sirt darajasini toʻgʻri aniqlash orqali siz oʻz vaqtingizni tejaysiz va taʼmirlash xarajatlarini sezilarli darajada kamaytirasiz.😊 - - - - - 👷‍♂️Качество поверхности Q3 можно по праву назвать народным, так как подходит для решения большинства ваших задумок при отделке помещений. Q3 – каковы требования? - допускаются отклонения по вертикали 1 мм на 2 м погонных - допускаются видимые царапины от шлифовочного абразива (глубиной до 0,3 мм) - допускается зазор в области зашпаклеванных стыков до 0,3 мм - допускаются тени от бокового света (гораздо меньше, чем при Q2) - Не допускаются видимые выемки, задиры и отпечатки от инструментов - Не допускаются локальные наплывы шпаклевочного раствора 🧐Как же определить уровень поверхности и остаться довольным результатом проделанной работы? Q3 это когда вам доступны такие варианты финишных покрытий как: - Матовая краска - Тонкие обои - Декоративная штукатурка с зерном менее 1 мм Для вашего удобства КНАУФ разработал система Q1-Q4 («Q» — от немецкого Qualität, качество) которая делит качество отделки поверхности от низшего Q1 до высшего, премиум класса, Q4. Она подходит как для сухого строительства, так и для систем на базе штукатурок. Правильно определяя уровень поверхности, вы сохраняете свое время и значительно уменьшаете затраты на ремонт.😊 Сайт|Facebook|Instagram #knaufuzbekistan#q1q4#roband#satengips#rotbandfinish#rotbandpasta