Сопоставление с образцом (pattern matching) — сильный механизм языков программирования, который, к сожалению, встречается не так часто. Причём, как в коде разработчиков, так и в поддержке со стороны самого языка.
Разработчики на функциональных языках используют этот механизм довольно часто, потому что у них вообще многое определяется статически через правильный подход к системе типов. Разработчики же на императивных языках очень любят огромные многоуровневые ветвления. Есть даже такое понятие «Спагетти-код» — раньше его применяли к коду, перегруженному операторами перехода, но в современном виде это скорее об избытке операторов условия.
Pattern matching позволяет накладывать на объекты некоторый трафарет и смотреть, попадают ли они под него. Это не только выглядит лаконичнее и короче, чем дерево условий, но ещё и понятнее с точки зрения восприятия человеком: вот у нас заказ содержит более 10 элементов и при этом стоит более 1000 долларов, значит делаем на него скидку 10 центов. При этом трафарет работает как сортировщик монеток: самая маленькая проваливается в первый паз, следующая по размеру в следующий итд, применение условий идёт сверху вниз. Есть и неявный плюс: такой подход автоматически провоцирует разработчиков проводить проверку на null. Ведь null не может подходить под трафарет «содержит более 10 товаров».
К счастью, в C# этот механизм в последних версиях активно развивают и совершенствуют. И это одно из многочисленных преимуществ C# над Java.
#dev
halogenOS - Official | Android 16 | Nothing Phone (2)
✍️ Details:
- Version: 16.2
- Codename: #Pong
- Updated: 26/05/02
- Type: #Vanilla
🔽 Download: Here
🆘 Support : Here
⚙️ Installation: Here
🔖 Tags : #ROM#AOSP#Official#XOS
✍️ Changelog:
- Dimmed mode
- New launcher app drawer design
- Slidable tiles
- Battery charge limit
- Add font customization
- Add centered lockscreen clock style
- Add VRR mode
- April 2026 Security Patch
- Increase Bluetooth sound quality when using AAC or SBC
✍️ Note:
- Firmware is not included, based on NOS B4.0-251226-1110
- ROM is signed by official halogenOS keys. GApps support and PI not guaranteed (only vanilla with Sandboxed Play is officially supported).
🏆 Credits:
- Chandu
- Pong dev team & testers
- halogenOS Community
👤 Maintainer : @N0m4n904
🔔 Updates : @NothingPhone2Updates
💬 Chat : @NothingPhone2
HalogenOS - Official | Android 16 | Nothing Phone (2)
✍️ Details:
- Version: 16.0
- Codename: #Pong
- Initial Release: 25/09/25
- Type: #Vanilla
🔽 Download: Here
🆘 Support : Here
⚙️ Installation: Here
🔖 Tags : #ROM#AOSP#Official#XOS
✍️ Note:
- Kernel is prepatched KSU
- Firmware is not included, latest is recommended
- ROM is signed by official halogenOS keys. GApps support and PI not guaranteed (only vanilla is officially supported).
- Refer to this post for future updates related to the ROM.
🏆 Credits:
- Chandu for Kernel (and DT which served as as a reference)
- Pong dev team & Testers
👤 Maintainer : @N0m4n904
🔔 Updates : @NothingPhone2Updates
💬 Chat : @NothingPhone2
HalogenOS - Official | Android 16 | Nothing Phone (2)
✍️ Details:
- Version: 16.0
- Codename: #Pong
- Initial Release: 18/08/25
- Type: #Vanilla
🔽 Download: Here
🆘 Support : Here
⚙️ Installation: Here
🔖 Tags : #ROM#AOSP#Official#XOS
✍️ Note:
- Kernel is prepatched KSU
- Firmware is not included, latest is recommended
- ROM is signed by official halogenOS keys. GApps support and PI not guaranteed (only vanilla is officially supported).
- Refer to this post for future updates related to the ROM.
🏆 Credits:
- Chandu for Kernel (and DT which served as as a reference)
- @chrome6boy for testing
- Pong dev team
👤 Maintainer : @N0m4n904
🔔 Updates : @NothingPhone2Updates
💬 Chat : @NothingPhone2
AviumUI - Unofficial | Android 16 | Nothing Phone (2)
📝 Details:
- Version: 16
- Build type: #Vanilla
- Device: #Pong
- Released: 27/11/2025
⬇️ Downloads: Here
📖 Changelogs: Here
🖼️ Screenshota: Here
🏷 Tags: #Avium#ROM#Avium#Vanilla#Unofficial
✍️Notes:
- Vanilla build ONLY
- Initial Nothing camera support available
- SukiSU Ultra and SusFS baked in
- OTA updates are planned in the future, however not supported as of now
- Signed with my keys
- Based on Lineage DT, Vendor and Kernel
- Use latest NOS 3 firmware
- If face any bugs report with logs
🏆Credits:
- Deadlylxrd for so much help with building my first ever ROM
- Chandu for DT
- Fabian & HELLBOY for Glyph
👤 Maintainer: @sevo9128
💬 Chat: @NothingPhone2
🔔 Updates: @NothingPhone2Updates
Лучше выбери свой аромат в парфюмированных гелях NOTALONE, которые привлекают любовь!
Vanilla Lovers - влюбленность
Black pepper Neroli- страсть
Bergamot Amber Wood - глубина
#notalone#парфюмированныйгельдлядуша#blackpepper#vanilla#bergamot
LineageOS - Community | A14 | Nothing Phone (2)
✍️ Details:
- Version: 21.0
- Codename: #Pong
- Released: 17/07/2024
🔽 Download : Recovery | Fastboot
⚙️ Installation: Here
📸 Screenshots: Here
🆘 Support: Telegram
🔖 Tags : #ROM#Vanilla#Community#LOS#QPR3#U#NothingPhone2
✍️ Changelog
- Update from NOS 2.6.0
- USB OTG Fixed
- Fixed Status Bar Padding
- Read Notes 👇
✍️ Notes
- Flash These GAPPS to get Gapps with Pixel Launcher
- Stable Signed Build
- Meteoric kernel is baked in with prepatched KSU.
- Dolby Atmos Included
🏆 Credits
- Chandu for base device tree
- HellboyforMeteoric kernel
- Miki, Unluck & Ghost for all help
- Fabian for PA Glyph Implementation
😎 Maintainer: @Kartikey
🔔 Updates: @NothingPhone2Updates
💬 Chat: @NothingPhone2