@Custom_Languages · Post #461 · 10.06.2020 г., 01:15
👅blahh » Base Language: #Malay🇲🇾 » Platforms: #iOS☑️ ____
TGINSIGHT SIMILAR POSTS
Изходен канал @clockstackwheels · Post #721 · 26.12
Почему я люблю языки с сильной системой типов, проверяемой статическим анализом кода — хорошо написанная программа является своей собственной спецификацией и позволяет выражать через язык программирования законы существования предметной области. Когда-то давно я писал на ActionScript. Там была система типов, но вот десериализация JSON'ов по-умолчанию была в какой-то общий Object, к полям которого нужно было обращаться ["по_строковому_имени"]. В один момент мне потребовалось написать что-то на C#, который я совсем не знал, я стал гуглить, как десериализовать JSON, и с удивлением обнаружил кучу советов заранее объявить класс со всеми нужными полями и десериализовать в него. "Какой ужас!", — подумал я тогда, — "Это же дико неудобно! А если я не знаю полей JSON? А если их много? Отвратительный язык!" Теперь то я прекрасно понимаю, что JSON это контракт, и что правильная десериализация только такая и должна быть, и что в хорошем API в одном поле никогда не бывает данных принципиально разных типов, и так далее. Нет, если вы набиваете вечерами пет-проект или сидите бессонную ночь на хакатоне, нет ничего плохого в том, чтобы взять простой язык с динамическими типами вроде JavaScript или Python, не требующий описывать данные. Но вот в энтерпрайзе, особенно когда над одним проектом работает много людей (а бывает это очень часто) — хорошее использование системы типов убережёт разработчиков от огромного количества ошибок, будет бить их по рукам, когда они пытаются сделать что-то не то, и будет подсказывать, когда они не уверены в чём-то. С помощью статической типизации можно на уровне кода обозначить правила, по которым ведёт себя предметная область вашей программы в реальном мире. Разработчику не только будет сложно их нарушить, но он ещё и станет узнавать какие-то вещи, которые мог не знать раньше. Например, если мы делаем медицинскую CRM, и больница заводит новых пациентов только тогда, когда знает их группу крови, мы можем объявить тип "Пациент" (или, если точнее, "Карта пациента") и запретить создавать экземпляры этого типа, не передав в конструктор группу крови (которая, в свою очередь, тоже является типом, вероятнее всего ValueObject'ом). Если новый программист пришёл в проект, он, во-первых, не сможет записать в БД некорректную карту пациента. Понятно, мы не учитываем случаи, когда новый программист переделывает модели предметной области — это будет хорошо видно на кодревью. А, во-вторых, даже если ему никто не сказал, что пациенты должны быть с группой крови, он узнает это из кода. И уже будет понимать, что в тех процессах реальной жизни, которые он описывает кодом, карта пациента создаётся только при наличии группы крови. А, значит, нужно искать какой-то способ сначала эту группу крови получить, и только потом создавать карту. Программирование моделирует реальный процесс. В настоящей работе даже на языках с типами, конечно, без должного контроля можно написать что угодно. Нужна управленческая воля, компетентность руководства, понимание опасности техдолга, в идеале отдельные должности для архитекторов, опытные лиды и старшие разработчики. Но когда всё это есть, можно отсекать много проблем ещё на старте и проще погружать новичков. #dev
Hashtags
Търсене: #malay
@Custom_Languages · Post #461 · 10.06.2020 г., 01:15
👅blahh » Base Language: #Malay🇲🇾 » Platforms: #iOS☑️ ____
@Custom_Languages · Post #372 · 22.05.2020 г., 06:30
🦄unicorn:)(akunya) » Base Language: #English, #Malay🇲🇾 » Platforms: #iOS☑️(TDesktop)🙅 Notes:A sweet language
@Custom_Languages · Post #363 · 21.05.2020 г., 01:00
.❤️i love you(for my one and only love) » Base Language: #English, #Malay🇲🇾 » Platforms: #Android☑️#iOS☑️#TDesktop☑️ #MacOS☑️#Android_X☑️ Sample:Double tap and hold to record your adorable face
@linguohunter · Post #5336 · 14.02.2025 г., 15:30
Translators (Asia) #remotely#Indonesian#Malay#Telugu#Urdu #Hinglish#Tamil#Bengali#Marathi We invite translators with languages to cooperate: #Indonesian#Malay#Telugu#Urdu #Hinglish#Tamil#Bengali#Marathi Experience in the field of translations using text editors is welcome. It is necessary to translate marketing texts from Russian or English. Write to: @Marina19931 Please do not disturb the translation agency! We don't cooperate. ============================ Разместить вакансию | LinguoHunter
@Custom_Languages · Post #90 · 01.04.2020 г., 00:57
# Hashtags in this channel ================= #Tips = helpful? #Special_Language = Not for simple humans #_NSFW = (sexual) Not Safe For Work ================= Platforms -» #Android -» #iOS -» #TDesktop -» #MacOS -» #Android_X ================= Languages —» #Special_Language🎲 —» #Braille🕶 -» #Chinese🇨🇳 -» #Corsican🇮🇹 -» #English🌐 -» #French🇫🇷 -» #German🇩🇪 -» #Hindi🇮🇳 -» #Indonesian🇮🇩 -» #Italian🇮🇹 -» #Latvian🇱🇻 -» #Malay🇲🇾 -» #Maori🇳🇿 -» #Portuguese🇵🇹 -» #Russian🇷🇺 -» #Singlish🇸🇬 -» #Spanish🇪🇸 -» #Tagalog / #Filipino🇵🇭 -» #Ukrainian🇺🇦 Have fun!