Struchkov Mark
83f1e16f77
All checks were successful
continuous-integration/drone/push Build is passing
35 lines
2.0 KiB
Markdown
35 lines
2.0 KiB
Markdown
---
|
||
aliases:
|
||
tags:
|
||
- maturity/🌱
|
||
- content/opinion
|
||
date: 2024-10-20
|
||
zero-link:
|
||
parents:
|
||
linked:
|
||
---
|
||
Использование var, введенное в [[../../../knowledge/dev/java/Java 10|Java 10]], может на первый взгляд показаться удобным инструментом для сокращения объема кода. Однако есть и проблемы:
|
||
|
||
Одним из основных недостатков использования `var` является то, что он скрывает тип переменной, что приводит к пониженной [[Читаемый код|читаемости кода]], особенно на этапе ревью. В коде, который разработчик может читать через несколько месяцев или передать другим коллегам, ==отсутствие явного типа затрудняет понимание происходящего==.
|
||
|
||
Например, следующий код не даёт никакой информации о том, что такое `result` и что возвращает метод `process()`.
|
||
|
||
```java
|
||
var result = process();
|
||
```
|
||
|
||
Это может привести к путанице, особенно если метод возвращает обобщённый тип или коллекцию. Без явного указания типов разработчикам придётся тратить дополнительное время на выяснение, что происходит.
|
||
***
|
||
## Мета информация
|
||
**Область**:: [[../meta/zero/00 Java разработка|00 Java разработка]]
|
||
**Родитель**::
|
||
**Источник**::
|
||
**Создана**:: [[2024-10-20]]
|
||
**Автор**::
|
||
### Дополнительные материалы
|
||
-
|
||
|
||
### Дочерние заметки
|
||
<!-- QueryToSerialize: LIST FROM [[]] WHERE contains(Родитель, this.file.link) or contains(parents, this.file.link) -->
|
||
|