Не используйте var
All checks were successful
continuous-integration/drone/push Build is passing

This commit is contained in:
Struchkov Mark 2024-10-30 21:57:35 +03:00
parent 932bdf133f
commit d5375652d0
No known key found for this signature in database
GPG Key ID: A3F0AC3F0FA52F3C
2 changed files with 5 additions and 9 deletions

View File

@ -20,6 +20,7 @@ linked:
- **Max UUID** — все биты равны 1 (или “f” в шестнадцатеричной записи).
- **Стандартные версии UUID** (по спецификации RFC 4122) — всего 5 версий.
- **Новые версии** — три дополнительных варианта, не описанных в RFC 4122.
## UUID V1
![](../meta/files/images/Pasted%20image%2020231112133236.png)
@ -137,7 +138,7 @@ UUID V7 может иметь несколько типов генерации,
**Родитель**::
**Источник**::
**Автор**::
**Создана**::
**Создана**:: [[2023-11-12]]
### Дополнительные материалы
- [ID-баттл: UUID vs автоинкремент / Валентин Удальцов - YouTube](https://www.youtube.com/watch?v=Xr_SNd9LIng&t=1762s)
- [Библиотека для генерации UUID в Java. Все версии](https://github.com/f4b6a3/uuid-creator)

View File

@ -4,21 +4,16 @@ tags:
- maturity/🌱
- content/opinion
date: 2024-10-20
zero-link:
parents:
linked:
---
Использование var, введенное в [[../../../knowledge/dev/java/Java 10|Java 10]], может на первый взгляд показаться удобным инструментом для сокращения объема кода. Однако есть и проблемы:
Использование `var`, введенное в [[../../../knowledge/dev/java/Java 10|Java 10]], может улучшить компактность кода, но имеет недостатки, связанные со снижением [[Читаемый код|читаемости]]. Хотя переменная остается статически типизированной и обеспечивает безопасность кода, ==скрытие типа может затруднить понимание логики, особенно при командной работе и ревью.==
Одним из основных недостатков использования `var` является то, что он скрывает тип переменной, что приводит к пониженной [[Читаемый код|читаемости кода]], особенно на этапе ревью. В коде, который разработчик может читать через несколько месяцев или передать другим коллегам, ==отсутствие явного типа затрудняет понимание происходящего==.
Например, следующий код не даёт никакой информации о том, что такое `result` и что возвращает метод `process()`.
Например, следующий код не дает информации о том, что представляет `result` и что возвращает метод `process()`, что усложняет чтение, особенно в больших командах:
```java
var result = process();
```
Это может привести к путанице, особенно если метод возвращает обобщённый тип или коллекцию. Без явного указания типов разработчикам придётся тратить дополнительное время на выяснение, что происходит.
Это может привести к путанице, особенно если метод возвращает обобщённый тип или коллекцию. Без явного указания типов ==разработчикам придётся тратить дополнительное время на выяснение, что происходит==.
***
## Мета информация
**Область**:: [[../meta/zero/00 Java разработка|00 Java разработка]]