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

Резултати

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

Търсене: #tdesktop

当前筛选 #tdesktop清除筛选
Telegram github commits and releases

@tgappsupdates · Post #19721 · 18.04.2026 г., 00:00

telegramdesktop/tdesktop/dev • ed1e3ca • 1 files, +1/-1 Bump actions/deploy-pages from 4 to 5 Bumps [actions/deploy-pages](https://github.com/actions/deploy-pages) from 4 to 5. - [Release notes](https://github.com/actions/deploy-pages/releases) - [Commits](https://github.com/actions/deploy-pages/compare/v4...v5) --- updated-dependencies: - dependency-name: actions/deploy-pages dependency-version: '5' dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] <[email protected]> #tdesktop

Hashtags

Telegram github commits and releases

@tgappsupdates · Post #19717 · 17.04.2026 г., 08:00

telegramdesktop/tdesktop/dev • ef848e0 • 1 files, +8/-8 Port Linux notifications to std::get_if There's no sense to use abstrations calling std::holds_alternative telegramdesktop/tdesktop/dev • 92488b2 • 2 files, +19/-26 Move GNotification action creation to the rest of notification code telegramdesktop/tdesktop/dev • bc2eb3d • 1 files, +4/-20 Remove explicit disconnections where object lifetime is the same telegramdesktop/tdesktop/dev • b5f3ea6 • 2 files, +26/-1 Try to use KSandbox::startHostProcess telegramdesktop/tdesktop/dev • 3fbe302 • 2 files, +167/-0 feat(accessibility): add screen reader support for country select box #tdesktop

Hashtags

Telegram github commits and releases

@tgappsupdates · Post #19716 · 17.04.2026 г., 05:45

telegramdesktop/tdesktop/dev • 66b38cc • 1 files, +9/-2 Pause animations only if video message isn't paused. telegramdesktop/tdesktop/dev • 5eed813 • 1 files, +2/-3 Fix layout for RTL messages. telegramdesktop/tdesktop/dev • 4319245 • 3 files, +204/-31 Allow seeking in video messages. #tdesktop

Hashtags

Telegram github commits and releases

@tgappsupdates · Post #19709 · 16.04.2026 г., 14:46

telegramdesktop/tdesktop/dev • 0e7a483 • 1 files, +1/-1 Fix muted icon outline clipping. telegramdesktop/tdesktop/dev • b87df70 • 1 files, +6/-7 Fix microphone testing in Settings. telegramdesktop/tdesktop/dev • d39af8e • 1 files, +2/-2 [ai] Fix custom command for icon creation. telegramdesktop/tdesktop/dev • ce10b71 • 1 files, +1/-1 Fix geometry counting around collapsed blockquote. telegramdesktop/tdesktop/dev • e3a34ea • 5 files, +90/-21 Cache date string in dialog rows. telegramdesktop/tdesktop/dev • f31421a • 1 files, +2/-2 Fix unread media indicator display. telegramdesktop/tdesktop/dev • 1b96772 • 1 files, +3/-3 Allow continue macOS build after partial. telegramdesktop/tdesktop/dev • 2cd90eb • 14 files, +958/-133 Add proxy auto-rotation option. #tdesktop

Hashtags

Telegram github commits and releases

@tgappsupdates · Post #19703 · 15.04.2026 г., 07:22

Assets for releasev6.7.6of telegramdesktop/tdesktop: • Source code (tar.gz, full) • Windows on ARM: Portable • Windows 64 bit: Portable • Windows 32 bit: Portable • Windows on ARM: Installer • Windows 64 bit: Installer • macOS 10.13+: Installer • Windows 32 bit: Installer • Linux 64 bit: Binary #tdesktop

Hashtags

Telegram github commits and releases

@tgappsupdates · Post #19702 · 15.04.2026 г., 06:45

New telegramdesktop/tdesktop release: v6.7.6 (stable) - Gradient-reveal animation for text appearing in messages. - Support draw-to-reply from shared media. - Frame-by-frame stepping and hold-to-speedup hotkeys in media view. - Fix loading stickers and emoji search results. - Custom emoji picker for premium quick reaction. - Search in section of pinned messages. - Recent search entries in settings search. - Hide phone number in main settings section. - Suggest sending large texts as files. - Allow creating polls with single answer option. - Bring menus and fullscreen media viewer to active space on macOS. - Fix several poll display and voting menu issues. - Fix possible crashes in chats list, url auth and others. #tdesktop

Hashtags

Telegram github commits and releases

@tgappsupdates · Post #19701 · 15.04.2026 г., 05:16

telegramdesktop/tdesktop/dev • f9d8628 • 1 files, +1/-1 Fix build with GCC. telegramdesktop/tdesktop/dev • 33dda9d • 1 files, +27/-1 Return possibility for maps handler customization on Windows. telegramdesktop/tdesktop/dev • 59e9a91 • 2 files, +7/-1 First text appearing animation duration floor. telegramdesktop/tdesktop/dev • 668a91b • 6 files, +31/-15 Version 6.7.6. - Gradient-reveal animation for text appearing in messages. - Support draw-to-reply from shared media. - Frame-by-frame stepping and hold-to-speedup hotkeys in media view. - Fix loading stickers and emoji search results. - Custom emoji picker for premium quick reaction. - Search in section of pinned messages. - Recent search entries in settings search. - Hide phone number in main settings section. - Suggest sending large texts as files. - Allow creating polls with single answer option. - Bring menus and fullscreen media viewer to active space on macOS. - Fix several poll display and voting menu issues. - Fix possible crashes in chats list, url auth and others. #tdesktop

Hashtags

123•••5•••10•••15•••20•••25•••30•••35•••40•••45•••50•••55•••60•••656667
ПредишнаСтр. 1 от 67Следваща