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

Резултати

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

Търсене: #lemonades

当前筛选 #lemonades清除筛选
OnePlus OS Update Tracker

@OnePlusOTA · Post #309 · 24.09.2021 г., 15:54

OnePlus 9R Oxygen OS 11.2.5.5.LE28DA System • Optimized the using experience of QuickReply • Fixed the issue of Warp charging failure in low probability • Fixed the issue of Gmail occasionally crashes • Updated Android security patch to 2021.09 • Updated GMS package to 2021.06 Gallery • Optimized the app fluency in some scenes MD5 Full: 64712d5bd045351c3b394ead0ecb20f8 Size Full: 2.84 GB (3052266489) Downloads Oxygen OS Server 1: Full Oxygen OS Server 2: Full Color OS Global Server 1: Full Color OS Global Server 2: Full Exported by MlgmXyysd Color OTA Bot@OnePlusOTA #Oxygen#lemonades#India#Full

OnePlus OS Update Tracker

@OnePlusOTA · Post #267 · 04.08.2021 г., 07:58

OnePlus 9R Oxygen OS 11.2.4.4.LE28DA System • Optimized the overheating control management of third-party apps • Optimized the experience of Quick Reply in some scenarios • Updated Android security patch to 2021.07 • Updated GMS package to 2021.06 • Fixed known issues Ambient Display • Newly added the screenshot feature for AOD • Newly added Bitmoji AOD, co-designed by Snapchat & Bitmoji, which will liven up the ambient display with your personal Bitmoji avatar. Your avatar will update throughout the day based on your activity and things happening around you ( Path: Settings - Customization - Clock on ambient display - Bitmoji ) MD5 Full: c8c8c4545b46ca486ab3e80728258819 Size Full: 2.84 GB (3050061064) Downloads Oxygen OS Server: Full Color OS Server: Full Exported by MlgmXyysd Color OTA Bot@OnePlusOTA #Oxygen#lemonades#India#Full

OnePlus OS Update Tracker

@OnePlusOTA · Post #196 · 11.06.2021 г., 14:53

OnePlus 9R Oxygen OS 11.2.3.3.LE28DA System • Reduced power consumption in specific scenarios • Fixed known issues for a better experience MD5 Full: 51aeecbcb5d71fe4cbbca813890636b2 Size Full: 2.86 GB (3067366770) Downloads Oxygen OS Server: Full Color OS Server: Full Exported by MlgmXyysd Color OTA Bot@OnePlusOTA #Oxygen#lemonades#India#Full

OnePlus OS Update Tracker

@OnePlusOTA · Post #177 · 27.05.2021 г., 10:31

OnePlus 9R Oxygen OS 11.2.1.2.LE28DA System • Fixed the abnormal silent notification issue after muting the media volume • Fixed UI issues in Freeform Windows • Fixed general issues and improved system stability • Updated Android security patch to 2021.05 Notes • Fixed the issue that newly saved notes can't sync to Shelf in time OnePlus Games • Improved the overall user experience Gallery • Improved picture preview smoothness Camera • Improved the camera stability and shooting performance • Fixed the abnormal image issue under Nightscape mode MD5 Full: fe80adf498b55482ee81b5aa77c6ff83 Size Full: 2.86 GB (3067351866) Downloads Oxygen OS Server: Full Color OS Server: Full Exported by MlgmXyysd Color OTA Bot@OnePlusOTA #Oxygen#lemonades#India#Full

OnePlus OS Update Tracker

@OnePlusOTA · Post #120 · 16.04.2021 г., 15:00

OnePlus 9R Oxygen OS 11.2.1.1.LE28DA System • Improved charging stability • Improved the haptic feedback for Call of Duty Mobile • Fixed the abnormal change of incoming ringtone with dual SIM cards • Fixed the delay in incoming calls when the device is in charge • General bug fixes Gallery • Improved the loading speed of the gallery to speed up the process of previewing pictures Clock • Improved the vibrating performance of alarm tones Network • Improved Wi-Fi Hotspot performance MD5 Full: 98f75dae3ecd93fa54d6e5a1f8c6ef5b Size Full: 2.84 GB (3045245880) Downloads Oxygen OS Server: Full Color OS Server: Full Exported by MlgmXyysd Color OTA Bot@OnePlusOTA #Oxygen#lemonades#India#Full

OnePlus OS Update Tracker

@OnePlusOTA · Post #490 · 02.03.2022 г., 05:20

OnePlus 9R OxygenOS 11.2.8.8.LE28DA Gallery • [Fixed] freezing issue when sharing pictures in Gallery MD5 Full: 9cc1c42cf7207235f2776fe7753e3191 Size Full: 2.85 GB (3061907883) Downloads OxygenOS Server 1: Full OxygenOS Server 2: Full OxygenOS Server 3: Full ColorOS Global Server 1: Full ColorOS Global Server 2: Full ColorOS Global Server 3: Full ColorOS Global Server 4: Full Exported by MlgmXyysd Color OTA Bot@OnePlusOTA #Oxygen#lemonades#India#Full#Stable

OnePlus OS Update Tracker

@OnePlusOTA · Post #454 · 30.01.2022 г., 11:12

OnePlus 9R OxygenOS 11.2.7.7.LE28DA System • Improved system stability • Updated Android security patch to 2022-01 MD5 Full: 188ce2fd9a2f05a1bcd6c3c572a694f4 Size Full: 2.85 GB (3061951527) Downloads OxygenOS Server 1: Full OxygenOS Server 2: Full OxygenOS Server 3: Full ColorOS Global Server 1: Full ColorOS Global Server 2: Full ColorOS Global Server 3: Full ColorOS Global Server 4: Full Exported by MlgmXyysd Color OTA Bot@OnePlusOTA #Oxygen#lemonades#India#Full#Stable

OnePlus OS Update Tracker

@OnePlusOTA · Post #387 · 05.12.2021 г., 14:33

OnePlus 9R OxygenOS 11.2.6.6.LE28DA System • Improved system stability and fixed known issues • Updated Android security patch to 2021.11 MD5 Full: e20651849e8bc54c53775ffd0ab2ccb4 Size Full: 2.85 GB (3061213937) Downloads Oxygen OS Server 1: Full Oxygen OS Server 2: Full Oxygen OS Server 3: Full Color OS Global Server 1: Full Color OS Global Server 2: Full Color OS Global Server 3: Full Color OS Global Server 4: Full Exported by MlgmXyysd Color OTA Bot@OnePlusOTA #Oxygen#lemonades#India#Full#Stable

OnePlus OS Update Tracker

@OnePlusOTA · Post #462 · 23.02.2022 г., 12:38

OnePlus 9R OxygenOS 12 Open Beta C.13 IND System • Optimized desktop icons with improved textures, by using a design inspired by brand-new materials and uniting lights and layers Dark mode • Dark mode now supports three adjustable levels, bringing a more personalized and comfortable user experience Shelf • New additional style options for Cards, making data contents more visual and easier to read • Newly added Earphone Control Card with Bluetooth earphone one-click adjustment • Newly added access to OnePlus Scout in Shelf, allowing you to search multiple contents on your phone, including Apps, Settings, Media Data, etc • Newly added OnePlus Watch Card in Shelf, to easily glance at your health stats Work Life Balance • Work Life Balance feature is now available to all users, allowing you to effortlessly switch between Work and Life mode via quick settings • WLB 2.0 now supports automatic Work/Life mode switching, based on specific locations, Wi-Fi network, and time, also bringing customized App notification profiles according to the personalization Gallery • Gallery now allows you to switch between different layouts with a two-finger pinch gesture, intelligently recognizing the best-quality pictures, and cropping the thumbnail based on the content, making the gallery layout more pleasing Canvas AOD • Canvas AOD brings you new diverse styles of lines and colors, for a more personalized lock screen experience with inspiring visuals • Newly added multiple brushes and strokes and support for color adjustment • Optimized software algorithm and improved face recognition to better identify the features and skin color of different figures Known Issues 1. Some third-party apps haven't been adapted to the latest Android version and may not function properly 2. The clock might be missing the dial display when the AOD feature is on MD5 Full: - Size Full: 3.79 GB (4071637683) Downloads Oxygen Website Server: Full Exported by MlgmXyysd Color OTA Bot@OnePlusOTA #Oxygen#lemonades#India#Full#OpenBeta

OnePlus OS Update Tracker

@OnePlusOTA · Post #298 · 14.09.2021 г., 15:06

OnePlus 9R Color OS 11.2.A.12 系统 [提升] 负一屏滑动流畅度 [优化] 手势指示条的 UI 样式 [优化] 输入法的界面样式 [修复] 部分三方应用概率无响应的问题 [更新] Android 安全补丁至 2021.09 [提升] 系统稳定性 MD5 Component (my_manifest): 247e66722e4f6b3417f8a18b204199bc Component (my_stock): d89ecd56960a22fb98b2a94459c4b36e Component (my_heytap): c7a7386d49aaf0ed0129eb9e26b6f986 Component (my_carrier): bb691b1da6b7edb9be3b323dfd927253 Component (system_vendor): b4de278064c11c49bd4ebddeed85129b Component (my_region): 1cd39082f69eaa6151446f7cd37b7c42 Size Component (my_manifest): 1.14 MB (1199335) Component (my_stock): 833.39 MB (873873245) Component (my_heytap): 626.55 MB (656983929) Component (my_carrier): 3.37 MB (3534289) Component (system_vendor): 2.24 GB (2408486934) Component (my_region): 142.89 MB (149831573) Downloads Color OS China Server (Auto): Component (my_manifest) Component (my_stock) Component (my_heytap) Component (my_carrier) Component (system_vendor) Component (my_region) Color OS China Server (Manual): Component (my_manifest) Component (my_stock) Component (my_heytap) Component (my_carrier) Component (system_vendor) Component (my_region) Exported by MlgmXyysd Color OTA Bot@OnePlusOTA #Color#lemonades#China#Component

OnePlus OS Update Tracker

@OnePlusOTA · Post #263 · 31.07.2021 г., 17:07

OnePlus 9R Color OS 11.2.A.11 系统 [优化] 王者荣耀的触控体验 [优化] 部分三方应用的后台温控策略,提升使用体验 [修复] NFC 功能在部分场景下出现卡顿的问题 [更新] Android 安全补丁至 2021.07 [提升] 系统稳定性 社区 [修复] 退出应用后,图标变大的问题 MD5 Component (my_manifest): 9616a72e0990b275fa21793b28a59899 Component (my_stock): 4df7b040dd8853688676a96e9bb0647b Component (my_heytap): 4d5c1d4d0a5c1188f723fc82b7262347 Component (my_carrier): 187e5c5ea570efac222fbf54554377bf Component (system_vendor): 3b1f0d054b3671d9afd2df7db8c6a82c Component (my_region): 07f814fc5e05291c63c30cad8872c69c Size Component (my_manifest): 1.14 MB (1198915) Component (my_stock): 840.77 MB (881613813) Component (my_heytap): 593.45 MB (622281239) Component (my_carrier): 2.81 MB (2945103) Component (system_vendor): 2.25 GB (2412620799) Component (my_region): 145.19 MB (152245632) Downloads Color OS Server: Component (my_manifest) Component (my_stock) Component (my_heytap) Component (my_carrier) Component (system_vendor) Component (my_region) Exported by MlgmXyysd Color OTA Bot@OnePlusOTA #Color#lemonades#China#Component

OnePlus OS Update Tracker

@OnePlusOTA · Post #232 · 21.07.2021 г., 17:02

OnePlus 9R Color OS 11.2.A.10 系统 [优化] 王者荣耀的触控体验 [优化] 部分三方应用的后台温控策略,提升使用体验 [修复] NFC 功能在部分场景下出现卡顿的问题 [更新] Android 安全补丁至 2021.07 [提升] 系统稳定性 社区 [修复] 退出应用后,图标变大的问题 MD5 Component (my_manifest): 29bb2798f8cf5700f5d43112b7a084f0 Component (my_stock): 55dfaf541c120a2c8ca816806adbdb51 Component (my_heytap): 2412c453e5c9d2cafa14dd150e0b007e Component (my_carrier): c21abafed3768a66139001e1e8b85dcd Component (system_vendor): 407324c3cccf3eb20becbb16f8c11455 Component (my_region): 850dff1abf6d9e1f7ba9c2ade06f6345 Size Component (my_manifest): 1.14 MB (1198867) Component (my_stock): 840.94 MB (881792429) Component (my_heytap): 593.45 MB (622281240) Component (my_carrier): 2.81 MB (2945104) Component (system_vendor): 2.25 GB (2412872961) Component (my_region): 145.19 MB (152245633) Downloads Color OS Server: Component (my_manifest) Component (my_stock) Component (my_heytap) Component (my_carrier) Component (system_vendor) Component (my_region) Exported by MlgmXyysd Color OTA Bot@OnePlusOTA #Color#lemonades#China#Component

ПредишнаСтр. 1 от 3Следваща