|
Зануление переменных
|
|||
---|---|---|---|
#18+
Уважаемые специалисты. В проекте сталкиваюсь с таким кодом: Код: plsql 1. 2.
Имеет ли смысл занулять переменные перед использованием? ... |
|||
:
Нравится:
Не нравится:
|
|||
14.02.2019, 13:06 |
|
Зануление переменных
|
|||
---|---|---|---|
#18+
Или перед повторным использованием.. ... |
|||
:
Нравится:
Не нравится:
|
|||
14.02.2019, 13:20 |
|
Зануление переменных
|
|||
---|---|---|---|
#18+
grinn, Смысла нет, но результат может быть разным. ... |
|||
:
Нравится:
Не нравится:
|
|||
14.02.2019, 13:39 |
|
Зануление переменных
|
|||
---|---|---|---|
#18+
Поясните, пожалуйста, в каких случаях? ... |
|||
:
Нравится:
Не нравится:
|
|||
14.02.2019, 13:43 |
|
Зануление переменных
|
|||
---|---|---|---|
#18+
grinnв каких случаях?Очевидно же. Результирующие значения будет отличаться, когда предизменение переменной влияет на результат присваемого выражения. ... |
|||
:
Нравится:
Не нравится:
|
|||
14.02.2019, 13:48 |
|
Зануление переменных
|
|||
---|---|---|---|
#18+
Если Вы имеете в виду Код: plsql 1. 2.
то это само собой. Я имею в виду ситуацию, когда переменная не участвует в вычислении своего значения. То есть, зануление переменной не имеет смысла? ОК, спасибо! ... |
|||
:
Нравится:
Не нравится:
|
|||
14.02.2019, 13:55 |
|
Зануление переменных
|
|||
---|---|---|---|
#18+
Это индус-код. За строчку кода платят бабки ... |
|||
:
Нравится:
Не нравится:
|
|||
14.02.2019, 14:03 |
|
Зануление переменных
|
|||
---|---|---|---|
#18+
brzlЭто индус-код. За строчку кода платят бабки В теории да, но мы живем в реальном мире. Инициализация переменных, позволяет отслеживать использование неинициализированных переменных. Ну или по крайней мере получать однозначную ошибку :) ... |
|||
:
Нравится:
Не нравится:
|
|||
14.02.2019, 14:06 |
|
Зануление переменных
|
|||
---|---|---|---|
#18+
grinnпеременная не участвует в вычислении своего значения1. Из приведенных фрагментов этого не следует. Переменная может участвовать в результате неявно. 2. Присвоение null литералом может в принципе препятствовать plsql-компиляции и этот "результат" отличается от без присвоения. ... |
|||
:
Нравится:
Не нравится:
|
|||
14.02.2019, 14:07 |
|
Зануление переменных
|
|||
---|---|---|---|
#18+
grinn, Предполагаю, что зануление может иметь смысл (в зависимости от остального кода, конечно), если на второй строчке может вылететь исключение и тогда в неинициализированной переменной останется мусор ... |
|||
:
Нравится:
Не нравится:
|
|||
14.02.2019, 16:10 |
|
Зануление переменных
|
|||
---|---|---|---|
#18+
Кроик Семёнgrinn, Предполагаю, что зануление может иметь смысл (в зависимости от остального кода, конечно), если на второй строчке может вылететь исключение и тогда в неинициализированной переменной останется мусор https://docs.oracle.com/cd/B19306_01/appdev.102/b14261/constantvar_declaration.htm]Constants and variables are initialized every time a block or subprogram is entered. By default, variables are initialized to NULL. ... |
|||
:
Нравится:
Не нравится:
|
|||
14.02.2019, 17:40 |
|
Зануление переменных
|
|||
---|---|---|---|
#18+
-gt- https://docs.oracle.com/cd/B19306_01/appdev.102/b14261/constantvar_declaration.htm]Constants and variables are initialized every time a block or subprogram is entered. By default, variables are initialized to NULL. Ты не ту часть выделил жирным - медитируй над "every time a block or subprogram is entered". SY. ... |
|||
:
Нравится:
Не нравится:
|
|||
14.02.2019, 18:09 |
|
Зануление переменных
|
|||
---|---|---|---|
#18+
SY-gt- https://docs.oracle.com/cd/B19306_01/appdev.102/b14261/constantvar_declaration.htm]Constants and variables are initialized every time a block or subprogram is entered. By default, variables are initialized to NULL. Ты не ту часть выделил жирным - медитируй над "every time a block or subprogram is entered". SY. А над чем тут медитировать? Хотел донести мысль о том, что в не инициализированной переменной будет null, а не мусор. То что инициализация переменных будет происходить каждый раз, при входе в plsql блок, была оставлена сознательно. Но как доп. информация, потому что основная мысль про значения, а не про моменты инициализации. ... |
|||
:
Нравится:
Не нравится:
|
|||
14.02.2019, 19:40 |
|
Зануление переменных
|
|||
---|---|---|---|
#18+
-gt-Хотел донести мысль о том, что в не инициализированной переменной будет null, а не мусор. Кроик Семён некорректно обозначил предпосылку, но, возможно сам не осознавая, вывод указал верный. Незачем упорствовать насчет null. ... |
|||
:
Нравится:
Не нравится:
|
|||
14.02.2019, 19:58 |
|
Зануление переменных
|
|||
---|---|---|---|
#18+
-2--gt-Хотел донести мысль о том, что в не инициализированной переменной будет null, а не мусор. Согласен, не учел неявную инициализацию. Посыпаю голову пеплом ... |
|||
:
Нравится:
Не нравится:
|
|||
14.02.2019, 20:37 |
|
Зануление переменных
|
|||
---|---|---|---|
#18+
-gt-А над чем тут медитировать? Mы понятия не имеем что есть l_var_date и что есть validity_duration. А l_var_date может быть, напрмер, глобальной переменной пакета a validity_duration функцией ее исользующей. SY. ... |
|||
:
Нравится:
Не нравится:
|
|||
14.02.2019, 21:30 |
|
Зануление переменных
|
|||
---|---|---|---|
#18+
SY-gt-А над чем тут медитировать? Mы понятия не имеем что есть l_var_date и что есть validity_duration. А l_var_date может быть, напрмер, глобальной переменной пакета a validity_duration функцией ее исользующей. SY. Мы действительно не имеет понятия, что есть l_var_date и что есть validity_duration. Но Ваш пример, с функцией и глобальной пакетной переменной, не подходит. Вы невнимательно читали ветку 21809441 grinnЯ имею в виду ситуацию, когда переменная не участвует в вычислении своего значения. Хорошим примером был код, который Вы сначала написали, а потом зачем-то стерли(с циклом и вложенным блоком). ... |
|||
:
Нравится:
Не нравится:
|
|||
14.02.2019, 23:14 |
|
|
start [/forum/topic.php?fid=52&fpage=84&tid=1882793]: |
0ms |
get settings: |
9ms |
get forum list: |
15ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
30ms |
get topic data: |
13ms |
get forum data: |
3ms |
get page messages: |
58ms |
get tp. blocked users: |
2ms |
others: | 312ms |
total: | 450ms |
0 / 0 |