@The2ndDim · Post #1974 · 03.03.2024 г., 18:33
#WTF#SiIvaGunner 不知道是否有人注意到... 👆上面有连续整整 7 首都是和 Justin Bieber 的 Baby 这首歌相关的🤣
Hashtags
TGINSIGHT SIMILAR POSTS
Изходен канал @clockstackwheels · Post #721 · 26.12
Почему я люблю языки с сильной системой типов, проверяемой статическим анализом кода — хорошо написанная программа является своей собственной спецификацией и позволяет выражать через язык программирования законы существования предметной области. Когда-то давно я писал на ActionScript. Там была система типов, но вот десериализация JSON'ов по-умолчанию была в какой-то общий Object, к полям которого нужно было обращаться ["по_строковому_имени"]. В один момент мне потребовалось написать что-то на C#, который я совсем не знал, я стал гуглить, как десериализовать JSON, и с удивлением обнаружил кучу советов заранее объявить класс со всеми нужными полями и десериализовать в него. "Какой ужас!", — подумал я тогда, — "Это же дико неудобно! А если я не знаю полей JSON? А если их много? Отвратительный язык!" Теперь то я прекрасно понимаю, что JSON это контракт, и что правильная десериализация только такая и должна быть, и что в хорошем API в одном поле никогда не бывает данных принципиально разных типов, и так далее. Нет, если вы набиваете вечерами пет-проект или сидите бессонную ночь на хакатоне, нет ничего плохого в том, чтобы взять простой язык с динамическими типами вроде JavaScript или Python, не требующий описывать данные. Но вот в энтерпрайзе, особенно когда над одним проектом работает много людей (а бывает это очень часто) — хорошее использование системы типов убережёт разработчиков от огромного количества ошибок, будет бить их по рукам, когда они пытаются сделать что-то не то, и будет подсказывать, когда они не уверены в чём-то. С помощью статической типизации можно на уровне кода обозначить правила, по которым ведёт себя предметная область вашей программы в реальном мире. Разработчику не только будет сложно их нарушить, но он ещё и станет узнавать какие-то вещи, которые мог не знать раньше. Например, если мы делаем медицинскую CRM, и больница заводит новых пациентов только тогда, когда знает их группу крови, мы можем объявить тип "Пациент" (или, если точнее, "Карта пациента") и запретить создавать экземпляры этого типа, не передав в конструктор группу крови (которая, в свою очередь, тоже является типом, вероятнее всего ValueObject'ом). Если новый программист пришёл в проект, он, во-первых, не сможет записать в БД некорректную карту пациента. Понятно, мы не учитываем случаи, когда новый программист переделывает модели предметной области — это будет хорошо видно на кодревью. А, во-вторых, даже если ему никто не сказал, что пациенты должны быть с группой крови, он узнает это из кода. И уже будет понимать, что в тех процессах реальной жизни, которые он описывает кодом, карта пациента создаётся только при наличии группы крови. А, значит, нужно искать какой-то способ сначала эту группу крови получить, и только потом создавать карту. Программирование моделирует реальный процесс. В настоящей работе даже на языках с типами, конечно, без должного контроля можно написать что угодно. Нужна управленческая воля, компетентность руководства, понимание опасности техдолга, в идеале отдельные должности для архитекторов, опытные лиды и старшие разработчики. Но когда всё это есть, можно отсекать много проблем ещё на старте и проще погружать новичков. #dev
Hashtags
Търсене: #siivagunner
@The2ndDim · Post #1974 · 03.03.2024 г., 18:33
#WTF#SiIvaGunner 不知道是否有人注意到... 👆上面有连续整整 7 首都是和 Justin Bieber 的 Baby 这首歌相关的🤣
Hashtags
@The2ndDim · Post #1291 · 01.04.2020 г., 23:18
#转发#WTF#SiIvaGunner https://youtu.be/vRbhsNUc1-A 要素: 1. Minecraft确实是Mojang的。但不存在一个叫Minecraft 3D的游戏。 2. 画面确实有16位机风格。 3. 喊出声音的风格是16位时代的 SE-GA-! ,但喊出来的东西是 MO-JANG-! 4. 然后这玩意出来的Logo是某以江南style闻名的Psy,然后你发现这发出来的声音就是他们的音乐剪辑出来的。 5. 仔细一看上面红色条里面还写了个“未注册版本”,甚至还有复合视频输出(或者说电视的AV端口)接口跑NTSC信号时特有的颜色混合现象。 6. 仔细想想Minecraft从来就没有开游戏画面喊什么的事情,怎么可能有所谓的Minecraft Choir。这种厂商画面喊Logo最早真的被人知道恐怕就是SEGA的Sonic系列。 ……这要素真的过多。
Hashtags
@The2ndDim · Post #1289 · 31.03.2020 г., 14:52
#转发#音乐#SiIvaGunner https://youtu.be/V21DUmlsXEs // 看到SilvaGunner我想你应该知道这标题和封面都不该相信了(x
Hashtags
@The2ndDim · Post #1370 · 30.07.2020 г., 07:50
#音乐#音乐#WTF#SiIvaGunner https://youtu.be/h1RYGhNY238 // Only real Gentleman play on Music Park
Hashtags
@The2ndDim · Post #2185 · 14.04.2026 г., 03:06
#转发#音乐#WTF#SiIvaGunner https://youtu.be/_X9p8S9z5Hs // Classic SiIvaGunner Jokes
Hashtags
@The2ndDim · Post #2182 · 09.04.2026 г., 18:40
#转发#音乐#WTF#SiIvaGunner https://youtu.be/Y2DxdmyHxEc // 你的联发科CPU手机来通知了
Hashtags
@The2ndDim · Post #2181 · 09.04.2026 г., 18:25
#转发#音乐#WTF#SiIvaGunner https://youtu.be/zIxvFCuWbDc // UNO KART DS?
Hashtags
@The2ndDim · Post #2180 · 07.04.2026 г., 05:08
#转发#音乐#WTF#SiIvaGunner https://youtu.be/tWvm18KtHxA
Hashtags
@The2ndDim · Post #2177 · 30.03.2026 г., 04:01
#转发#音乐#WTF#SiIvaGunner https://youtu.be/nEy4QnAd_PQ // >> GET BLUE COINS <<
Hashtags
@The2ndDim · Post #2176 · 30.03.2026 г., 03:57
#转发#音乐#WTF#SiIvaGunner https://youtu.be/GtiguGaQMDc
Hashtags
@The2ndDim · Post #2175 · 30.03.2026 г., 03:54
#转发#音乐#WTF#SiIvaGunner https://youtu.be/tlkYqo1NSjs // Yea, it does warping thing for sure.
Hashtags
@The2ndDim · Post #2173 · 11.02.2026 г., 12:45
#转发#音乐#WTF#SiIvaGunner https://youtu.be/km7TH5IWu4o 👏👏
Hashtags