| 
    
        
     
     | 
    
    
  | 
"Не" равно или "<>"? | ☑ | ||
|---|---|---|---|---|
| 
    0
    
        Mary01    
     05.06.15 
            ✎
    12:56 
 | 
         
        Подскажите, какой оператор предпочтительнее использовать для сравнения?
 
        1) Не Переменная1 = Переменная2 ИЛИ 2) Переменная1 <> Переменная2 Когда-то слышала, что предпочтительнее (1), но почему - не помню, и сейчас не могу информацию найти на эту тему.  | 
|||
| 
    1
    
        Волшебник    
     модератор 
    05.06.15 
            ✎
    12:57 
 | 
         
        Без разницы.     
         | 
|||
| 
    2
    
        kosts    
     05.06.15 
            ✎
    12:57 
 | 
         
        (0) Предпочитаю "<>", по мне так легче воспринимается.     
         | 
|||
| 
    3
    
        Cube    
     05.06.15 
            ✎
    12:58 
 | 
         
        Без фотки разницы нет)     
         | 
|||
| 
    4
    
        GROOVY    
     05.06.15 
            ✎
    12:58 
 | 
         
        Тут нужно просто включить мозг.
 
        НЕ А=А будет работать как оператор сравнения, который даст нам булево и мы будем его "Переворачивать" оператором Если. А <> А даст нам тоже булево, но его будет просто проверять оператор Если. А реально пофиг.  | 
|||
| 
    5
    
        DirecTwiX    
     05.06.15 
            ✎
    12:59 
 | 
         
        Есть подозрение, что на <> требуется одна операция, а на НЕ равно - две.     
         | 
|||
| 
    6
    
        GROOVY    
     05.06.15 
            ✎
    12:59 
 | 
         
        Самое правильное это
 
        НЕ А<>А=Ложь  | 
|||
| 
    7
    
        Fragster    
     гуру 
    05.06.15 
            ✎
    12:59 
 | 
         
        (0) потому что тем, у кого не стоит спец. раскладки, приходится переключать язык. два раза.
 
        от себя рекомендую http://1c.chistov.pro/2012/11/1.html от @{Groovy}  | 
|||
| 
    8
    
        GROOVY    
     05.06.15 
            ✎
    13:00 
 | 
         
        (7) Благодарю!     
         | 
|||
| 
    9
    
        itlikbez    
     05.06.15 
            ✎
    13:01 
 | 
         
        (0) В первом случае не надо переключать клавиатуру.     
         | 
|||
| 
    10
    
        GROOVY    
     05.06.15 
            ✎
    13:01 
 | 
         
        (7) Я, кстати, под мак сделал раскладку, жду выхода нативного клиента :)     
         | 
|||
| 
    11
    
        kosts    
     05.06.15 
            ✎
    13:02 
 | 
         
        (7) Открой для себя автозамену
 
        бю <> б= <= ю= >= н Неопределено л Ложь и пр.  | 
|||
| 
    12
    
        Mary01    
     05.06.15 
            ✎
    13:03 
 | 
         
        (4) я тоже так думала, по логике так и есть, но вспомнила, что говорили, что лучше (1), вот и пытаюсь выяснить почему.
 
        но вы меня убедили в обратном. мне нет проблем переключить раскладку, а вот код должен работать как можно быстрее. так что буду писать <>  | 
|||
| 
    13
    
        GROOVY    
     05.06.15 
            ✎
    13:03 
 | 
||||
| 
    14
    
        Fragster    
     гуру 
    05.06.15 
            ✎
    13:03 
 | 
         
        (10) добавь в раскладке альтэнтер     
         | 
|||
| 
    15
    
        Fragster    
     гуру 
    05.06.15 
            ✎
    13:04 
 | 
         
        для перевода строки + |     
         | 
|||
| 
    16
    
        Волшебник    
     модератор 
    05.06.15 
            ✎
    13:04 
 | 
         
        (12) Это не ускорит код     
         | 
|||
| 
    17
    
        GROOVY    
     05.06.15 
            ✎
    13:05 
 | 
         
        (12) Скорость современных процессоров сводит на нет вашу оптимизацию. Сейчас, на выяснение того как быстрее,  вы потратили времени больше, чем выиграйте за всю вашу жизнь используя <> вместо НЕ.     
         | 
|||
| 
    18
    
        Fragster    
     гуру 
    05.06.15 
            ✎
    13:05 
 | 
         
        (11) это те, которые по контрол-ку работают?     
         | 
|||
| 
    19
    
        kosts    
     05.06.15 
            ✎
    13:06 
 | 
         
        (12) Для прикладных программ главное свойство, это сопровождаемость, а скорость исполнения важна в отдельных узких местах.     
         | 
|||
| 
    20
    
        Mary01    
     05.06.15 
            ✎
    13:06 
 | 
         
        почему? тут одна операция, а там две. это конечно доли секунд, а если у меня несколько тысяч строк, да еще по 10 и более реквизитов в каждой, и все это надо проверить?     
         | 
|||
| 
    21
    
        GROOVY    
     05.06.15 
            ✎
    13:06 
 | 
         
        (14) Пришли почтой, боюсь забыть. мыло -> павел тварь chistov.pro     
         | 
|||
| 
    22
    
        Mary01    
     05.06.15 
            ✎
    13:06 
 | 
         
        (20) и к тому же это все надо не один раз в день проверять     
         | 
|||
| 
    23
    
        D_E_S_131    
     05.06.15 
            ✎
    13:08 
 | 
         
        (22) Поверьте, в конфигах есть +100500 мест, где действительно стоит задуматься над производительностью. А ваш вопрос совсем не тот случай.     
         | 
|||
| 
    24
    
        kosts    
     05.06.15 
            ✎
    13:09 
 | 
         
        (22) Лучше посмотри, как бы уменьшить нажатия клавиш и мишки у пользователей.     
         | 
|||
| 
    25
    
        GROOVY    
     05.06.15 
            ✎
    13:10 
 | 
         
        (20) Это не доли, это 10^-42 000 000 00 секунды умноженной на количество ядер проца.     
         | 
|||
| 
    26
    
        Mary01    
     05.06.15 
            ✎
    13:10 
 | 
         
        (23) я пока только начала сопровождать бвазы с большими объемами данных и с обменами, раньше над производительностью не задумывалась, а теперь нужно. так что пытаюсь оптимизировать везде где только можно     
         | 
|||
| 
    27
    
        Mary01    
     05.06.15 
            ✎
    13:11 
 | 
         
        (25) о_0     
         | 
|||
| 
    28
    
        фобка    
     05.06.15 
            ✎
    13:11 
 | 
         
        (0) тоже читал про такое, не могу вспомнить где и почему. <> использовать стал редко, только если конструкция тяжелая     
         | 
|||
| 
    29
    
        Domovoi    
     05.06.15 
            ✎
    13:11 
 | 
         
        Несколько лет назад, была такая же тема, и там решили что с НЕ будет быстрее, тем быстрее <>. Вообще с вопросами скорости и производительности на мисте часто ошибаются, спросить конечно полезно, но лучше всегда проверить самим.     
         | 
|||
| 
    30
    
        GROOVY    
     05.06.15 
            ✎
    13:11 
 | 
         
        (27) Запросы оптимизируйте. Смотрите планы запросов.     
         | 
|||
| 
    31
    
        kosts    
     05.06.15 
            ✎
    13:12 
 | 
         
        (26) Для этого есть замер производительности. Ускоряй там, где долго работает, а сравнение оставь.     
         | 
|||
| 
    32
    
        Domovoi    
     05.06.15 
            ✎
    13:12 
 | 
         
        +(29)*теперь быстрее <>     
         | 
|||
| 
    33
    
        DirecTwiX    
     05.06.15 
            ✎
    13:12 
 | 
         
        (25) Это да, но такие вещи всё равно лучше знать.     
         | 
|||
| 
    34
    
        GROOVY    
     05.06.15 
            ✎
    13:12 
 | 
         
        Сейчас, ктонить вспомнит, что операторы в одну строку быстрее чем в несколько...     
         | 
|||
| 
    35
    
        kosts    
     05.06.15 
            ✎
    13:12 
 | 
         
        (34) А потом, что только в отладчике     
         | 
|||
| 
    36
    
        Волшебник    
     модератор 
    05.06.15 
            ✎
    13:13 
 | 
         
        Пятнично...     
         | 
|||
| 
    37
    
        Necessitudo    
     05.06.15 
            ✎
    13:15 
 | 
         
        В курсе Гилева сказано, что "НЕ = " быстрее чем "<>" в случае сравнения составных типов. Я собственно поэтому никогда <> и не использую. 
 
        А никто не натыкался на неадекватное понимание компоновкой условий типа "Где Документ.Проведен"?  | 
|||
| 
    38
    
        Mary01    
     05.06.15 
            ✎
    13:22 
 | 
         
        (28) вот и я так же     
         | 
|||
| 
    39
    
        Mary01    
     05.06.15 
            ✎
    13:22 
 | 
         
        (29) не могу найти эту тему     
         | 
|||
| 
    40
    
        Mary01    
     05.06.15 
            ✎
    13:23 
 | 
         
        (30) и это тоже делаю (предыдущая тема)     
         | 
|||
| 
    41
    
        dmpl    
     05.06.15 
            ✎
    13:23 
 | 
         
        (0) Для 1-го варианта не надо раскладку переключать.     
         | 
|||
| 
    42
    
        Mary01    
     05.06.15 
            ✎
    13:24 
 | 
         
        (37) да, вот оно!!!
 
        а почему именно при составном?  | 
|||
| 
    43
    
        dmpl    
     05.06.15 
            ✎
    13:25 
 | 
         
        (11) А если надо бю надбрать?     
         | 
|||
| 
    44
    
        ЧеловекДуши    
     05.06.15 
            ✎
    13:25 
 | 
         
        (0) Побоку.     
         | 
|||
| 
    45
    
        dmpl    
     05.06.15 
            ✎
    13:26 
 | 
         
        (12) Не хочу огорчать, но скорость - это не стихия 1С. Для скорости надо использовать компиляторы.     
         | 
|||
| 
    46
    
        kosts    
     05.06.15 
            ✎
    13:26 
 | 
         
        (43) Встречал где-то такое слово?
 
        И можно после ввода нажать стрелку вправо  | 
|||
| 
    47
    
        ДенисЧ    
     05.06.15 
            ✎
    13:26 
 | 
         
        (46) бюрократия <> <>рократия ))     
         | 
|||
| 
    48
    
        GROOVY    
     05.06.15 
            ✎
    13:27 
 | 
         
        (43) После пробела срабатывает. (47) Не надо тут ляля :)     
         | 
|||
| 
    49
    
        ЧеловекДуши    
     05.06.15 
            ✎
    13:28 
 | 
         
        Для чистоты, нужно прикрутить голосовалку:
 
        1. "Не Переменная1 = Переменная2" 2. Переменная1 <> Переменная2 3. ...а мне побоку... 4. Условие = Не Переменная1 = Переменная2; Если (Условие) Тогда 5. ...Работать раб...  | 
|||
| 
    50
    
        ДенисЧ    
     05.06.15 
            ✎
    13:28 
 | 
         
        (48) а что, по новым правилам ПБУ, бюрократия == <>рократия? __     
         | 
|||
| 
    51
    
        ДенисЧ    
     05.06.15 
            ✎
    13:28 
 | 
         
        Я поставил себе 1с:AutoDesigner и не парюсь     
         | 
|||
| 
    52
    
        vde69    
     05.06.15 
            ✎
    13:29 
 | 
         
        1. не (неопределено = ложь)
 
        2. неопределено <> ложь одинаково... а теперь так 1. не (СоставнойРеквизит = ложь) 2. СоставнойРеквизит <> ложь будет разница в скорости...  | 
|||
| 
    53
    
        dmpl    
     05.06.15 
            ✎
    13:30 
 | 
         
        (46) А чем это название переменной хуже других? ;)     
         | 
|||
| 
    54
    
        GROOVY    
     05.06.15 
            ✎
    13:30 
 | 
         
        (51) Так онож одни горячие кнопки эмулирует другими...     
         | 
|||
| 
    55
    
        kosts    
     05.06.15 
            ✎
    13:35 
 | 
         
        (53) Переменным надо давать говорящие имена (за исключением простых счетчиков или тривиальных случаев).     
         | 
|||
| 
    56
    
        ДенисЧ    
     05.06.15 
            ✎
    13:35 
 | 
         
        (54) альт и б == <
 
        какие горячие кнопки?  | 
|||
| 
    57
    
        kosts    
     05.06.15 
            ✎
    13:36 
 | 
         
        (50) Пятнично )))     
         | 
|||
| 
    58
    
        Necessitudo    
     05.06.15 
            ✎
    13:38 
 | 
         
        (42) А вот фиг знает. Это давалось как аксиома)     
         | 
|||
| 
    59
    
        kosts    
     05.06.15 
            ✎
    13:38 
 | 
         
        Конфигуратор и так не богат возможностями, так народ еще и про автозамену не знает...     
         | 
|||
| 
    60
    
        dmpl    
     05.06.15 
            ✎
    13:44 
 | 
         
        (55) Типа ЗдесьЛежитСписокДокументовНаРеализациюКоторыйЯПолучилИзЗапросаВДругойПроцедуреПоУсловиямОтбораПользователяПупкинаИзложеннымВЗаявкеНомер12345?     
         | 
|||
| 
    61
    
        фобка    
     05.06.15 
            ✎
    13:46 
 | 
         
        (46) бюджет, бюллетень     
         | 
|||
| 
    62
    
        kosts    
     05.06.15 
            ✎
    13:46 
 | 
         
        (60) Когда через пол года будешь читать и разбирать свой же код. То имя переменной из (60) тебе уже не покажется смешным по сравнению с "бю"...     
         | 
|||
| 
    63
    
        Зеленый пень    
     05.06.15 
            ✎
    13:48 
 | 
         
        (62) +100     
         | 
|||
| 
    64
    
        Fragster    
     гуру 
    05.06.15 
            ✎
    13:50 
 | 
         
        (51) у него всё хорошо, кроме того, что когда он включен глючит множественное выделение с контролом, иногда альты залипают...
 
        (54) зато там контрол-ку вызывает конструктор запроса в конфигураторе :)  | 
|||
| 
    65
    
        Гёдза    
     05.06.15 
            ✎
    13:51 
 | 
         
        (0) по стандартам 1с не рекомендуется вариант 1     
         | 
|||
| 
    66
    
        фобка    
     05.06.15 
            ✎
    13:53 
 | 
         
        (65) цитату, плиз     
         | 
|||
| 
    67
    
        Бубка Гоп    
     05.06.15 
            ✎
    13:55 
 | 
         
        (0) Имхо, чем меньше "Не", тем читабельнее код, нужно стремиться минимизировать их количество в коде, в разумных пределах, конечно же. А вообще, гулусувалку бы прикрутила, штоле.     
         | 
|||
| 
    68
    
        dmpl    
     05.06.15 
            ✎
    13:56 
 | 
         
        (62) А то - скроллить туда-сюда замучаешься ;)     
         | 
|||
| 
    69
    
        Сияющий Асинхраль    
     05.06.15 
            ✎
    13:57 
 | 
         
        Вариант:
 
        Если Что-то = Ложь Тогда Пишу: Если НЕ Что-то Тогда Во всех остальных случаях стараюсь писать: Если Что-то1 <> Что-то2 Тогда понимается лучше...  | 
|||
| 
    70
    
        kosts    
     05.06.15 
            ✎
    13:59 
 | 
         
        http://1c.chistov.pro/2013/09/83_15.html
 
        Не все удобно. Вместо " Коллекции значений Всем известные ТЗ, СЗ и ХЗ." По мне удобнее написать "новый" и из выпадающего списка уже выбрать: Соответствие, массив, ТаблицаЗначений и пр.  | 
|||
| 
    71
    
        b_ru    
     05.06.15 
            ✎
    13:59 
 | 
         
        Все-таки адинэсники - не программисты :)
 
        Конструкцию <> исторически не применяют в ПО, связанном с базами данных, так как следующий код вернет 2: if (null != null) cout << 1 else cout << 2; В то время как if !(null == null) cout << 1 else cout << 2; вернет более логичную 1 Врочем в 1С на это наплевали и там null = null.  | 
|||
| 
    72
    
        Бубка Гоп    
     05.06.15 
            ✎
    14:00 
 | 
         
        (69) дайте ему печеньку, кто нибудь     
         | 
|||
| 
    73
    
        DS    
     05.06.15 
            ✎
    14:00 
 | 
         
        (65) По любым стандартам предпочтительнее максимальное упрощение выражения.     
         | 
|||
| 
    74
    
        kosts    
     05.06.15 
            ✎
    14:00 
 | 
         
        (70) + Вместо "ИначеЕсли" я набираю "ие" и т.д.     
         | 
|||
| 
    75
    
        GROOVY    
     05.06.15 
            ✎
    14:01 
 | 
         
        (70) Так я только рад критике, добавим, исправим... Пишите!     
         | 
|||
| 
    76
    
        kosts    
     05.06.15 
            ✎
    14:12 
 | 
         
        Вот мои находки (не претендую на истину или авторство). Из часто используемого
 
        
Пользуйтесь кому лень )  | 
|||
| 
    77
    
        kosts    
     05.06.15 
            ✎
    14:14 
 | 
         
        (76) +
 
        
     | 
|||
| 
    78
    
        фобка    
     05.06.15 
            ✎
    14:15 
 | 
         
        (71) логично     
         | 
|||
| 
    79
    
        Timon1405    
     05.06.15 
            ✎
    14:21 
 | 
         
        (76) чисто из любопытства, сокращая Истина, до Ис, куда вы тратите сэкономленные секунды?)     
         | 
|||
| 
    80
    
        ЧеловекДуши    
     05.06.15 
            ✎
    14:22 
 | 
         
        (79) Предполагаю для рассуждения смысла жизни :)     
         | 
|||
| 
    81
    
        Mary01    
     05.06.15 
            ✎
    14:23 
 | 
         
        (76) а где эту настройку сделать?     
         | 
|||
| 
    82
    
        kosts    
     05.06.15 
            ✎
    14:24 
 | 
         
        (79) Я набираю ис получается Истина. И даже шифт не надо нажимать.     
         | 
|||
| 
    83
    
        kosts    
     05.06.15 
            ✎
    14:26 
 | 
         
        (81) Нажми сочетание Ctrl+Shift+T в конфигураторе.
 
        + в параметрах надо включить автозамену.  | 
|||
| 
    84
    
        Mary01    
     05.06.15 
            ✎
    14:26 
 | 
         
        (82) хочу так же сделать ) а где это настроить?     
         | 
|||
| 
    85
    
        Mary01    
     05.06.15 
            ✎
    14:26 
 | 
         
        (83) спасибо!     
         | 
|||
| 
    86
    
        cons74    
     05.06.15 
            ✎
    14:27 
 | 
         
        (69) напоминаю, что
 
        Если Что-то = Ложь Тогда корректно отработает в случае Что-то=Неопределено,а вот Если НЕ Что-то Тогда вылетит с ошибкой.  | 
|||
| 
    87
    
        kosts    
     05.06.15 
            ✎
    14:28 
 | 
         
        (85) Скачай готовый шаблон. Потом уже подправишь если надо будет.     
         | 
|||
| 
    88
    
        Drac0    
     05.06.15 
            ✎
    14:29 
 | 
         
        Где-то читал, что в запросах "<>" может быть транслировано  в логическое "ИЛИ", а то уже может пролететь мимо индексов. За правдивость отвечать не берусь.     
         | 
|||
| 
    89
    
        kosts    
     05.06.15 
            ✎
    14:32 
 | 
         
        (87) + Можно отключить стандартный шаблон, а то путается под ногами, точнее руками...     
         | 
|||
| 
    90
    
        GROOVY    
     05.06.15 
            ✎
    14:35 
 | 
         
        (77) Есть "УП" = "УстановитьПараметр(");     
         | 
|||
| 
    91
    
        dmpl    
     05.06.15 
            ✎
    14:35 
 | 
         
        (79) На ругань когда приходится на неподготовленном месте работать :)     
         | 
|||
| 
    92
    
        kosts    
     05.06.15 
            ✎
    14:35 
 | 
         
        (90) Одно другому не помешает.     
         | 
|||
| 
    93
    
        kosts    
     05.06.15 
            ✎
    14:37 
 | 
         
        Я фикси мне проще.     
         | 
|||
| 
    94
    
        Nirvana    
     05.06.15 
            ✎
    23:20 
 | 
         
        1) Теоретически оператор равенства и директива (Не =) должны работать быстрее, чем оператор неравенства (<>), поскольку при проверке на равенство значений ситуация различия их типов уже означает, что равенство не выполнено, в то время как при проверке на неравенство ситуация различия типов требует преобразования типов к идентичному, чтобы проверить неравенство при наиболее возможной ситуации равенства. Однако на практике техническая реализация оператора неравенства может быть разной, то есть программа при проверке на неравенство может на самом деле выполнять формальную проверку на равенство и возвращать обратный полученному результат. Поэтому в каждом частном случае быстродействие лучше определять замерами.
 
        2) В среде 1С неявное преобразование типов может приводить к глюкам, потому предпочтительнее не провоцировать ситуации, где произойдёт такое автоматическое преобразование типов, в том числе в условиях директив. 3) В других средах разработки (не 1С) компилятор может не воспринимать сочетание "<>" как оператор неравенства, а считать это сочетанием математических операторов сравнения, применимых лишь для числовых типов (и это как раз правильно с чисто формальной точки зрения), и если вы привыкли везде использовать "<>", то придётся переучиваться.  | 
|||
| 
    95
    
        Wern    
     06.06.15 
            ✎
    00:30 
 | 
         
        Как уже говорили если один из параметров NULL с <> можно попасть. например (NULL<>1) - тут ложь, НЕ (NULL=1) - а вот тут уже истина.     
         | 
|||
| 
    96
    
        13Дима13    
     06.06.15 
            ✎
    08:49 
 | 
         
        (95) каким образом (NULL<>1) может вернуть ложь?     
         | 
|||
| 
    97
    
        b_ru    
     06.06.15 
            ✎
    10:17 
 | 
         
        (96) Любое выражение с null в большинстве языков возвращает null, а null может быть неявно приведен к false.     
         | 
|||
| 
    98
    
        Wern    
     06.06.15 
            ✎
    10:25 
 | 
         
        (97) в 1совских запросах в общем то та же ситуация. Если ты делаешь к примеру в запросе условие "Регистратор.Контрагент<>&ВыбКонтрагент"
 
        То ожидаешь что все регистраторы у которых контрагент не равен выбранному попадут в твою выборку. А не тут то было. регистраторы у которых вообще нет реквизита контрагент сюда не попадут. В то время как если сделать условие "НЕ Регистратор.Контрагент=&ВыбКонтрагент" это условие отработает уже корректно.  | 
|||
| 
    99
    
        igork1966    
     06.06.15 
            ✎
    11:19 
 | 
         
        (96) это написано в стандарте на SQL
 
        https://ru.wikipedia.org/wiki/NULL_(SQL)  | 
|||
| 
    100
    
        GROOVY    
     06.06.15 
            ✎
    11:19 
 | 
         
        (98) Когда я вижу в запросах Регистратор.Чтото - мне хочется убить автора запроса.     
         | 
|||
| 
    101
    
        Wern    
     06.06.15 
            ✎
    11:31 
 | 
         
        (100) И чего ты будешь делать если тебе надо контрагента из всех регистраторов регистра?     
         | 
|||
| 
    102
    
        GROOVY    
     06.06.15 
            ✎
    11:34 
 | 
         
        (101) Критерий отбора сделаю, или журнал, или регистр под эту задачу. Но никогда не буду делать запрос порождающий овер 256 соединений.     
         | 
|||
| 
    103
    
        Wern    
     06.06.15 
            ✎
    11:44 
 | 
         
        (102) Пусть это обработка которая запускается раз в месяц и соответственно работает ли она 10 секунд или 10 минут никого не интересует. И пусть ограничение в 256 таблиц не актуально, например регистраторов всего 20-30. Даже при таких условиях ты будешь вносить кучу изменений в конфигурации из-за каких то своих принципов?     
         | 
|||
| 
    104
    
        GROOVY    
     06.06.15 
            ✎
    12:08 
 | 
         
        (103) Обращение к регистратору в регистрах есть признак плохого проектирования регистра.     
         | 
|||
| 
    105
    
        Повелитель    
     06.06.15 
            ✎
    12:18 
 | 
         
        Голосовалку прикрути ))
 
        Я использую <>, так проще код читать. Развели тему на 100 постов. Вот обработку за 3 минуты сделал: http://hostingkartinok.com/show-image.php?id=430ef0efeb0ed69a89e074a4fc7d7d3c Цикл на 1 000 000 сравнивает "не" и "<>" Если 1<>1 Тогда - 0,000003 секунд Если не 1=1 Тогда - 0,000002 секунд Не быстрее, но на 1 миллион, это вообще никак.  | 
|||
| 
    106
    
        Wern    
     06.06.15 
            ✎
    12:20 
 | 
         
        (104) Далеко не факт. При проектировании регистра невозможно предусмотреть все будущие задачи.     
         | 
|||
| 
    107
    
        GROOVY    
     06.06.15 
            ✎
    12:21 
 | 
         
        (106) Я в курсе, именно по этому у 1с периодически выходят новые редакции типовых. Переосмысленные, так сказать.     
         | 
|||
| 
    108
    
        Повелитель    
     06.06.15 
            ✎
    12:22 
 | 
         
        (105) 
 
        Извините, в цикл не попал. Вот: http://hostingkartinok.com/show-image.php?id=e5310711cd6823b920b84c78ce77d2f7 Если 1<>1 Тогда 2,437339 секунд Если не 1=1 Тогда 2,310229 секунд Разница на миллион доли секнуд  | 
|||
| 
    109
    
        Aleksandr N    
     06.06.15 
            ✎
    12:43 
 | 
         
        (6) Согласен)     
         | 
|||
| 
    110
    
        dmpl    
     06.06.15 
            ✎
    16:31 
 | 
         
        (97) C/C++ явно к этим языкам не относится ;)     
         | 
|||
| 
    111
    
        dmpl    
     06.06.15 
            ✎
    16:32 
 | 
         
        (100) А почему не автора регистра?     
         | 
|||
| 
    112
    
        loralu    
     06.06.15 
            ✎
    17:51 
 | 
         
        обычно в коде есть куда более стоящие вещи, чтобы их оптимизировать:) чем НЕ= и <>     
         | 
|||
| 
    113
    
        oslokot    
     06.06.15 
            ✎
    18:08 
 | 
         
        (108) Тест неверный! Нужно мерить по очереди, а не в куче. Попробуй условия местами поменять, результат будет противоположный.
 
        Итак, всем всем всем! Конструкция "<>" все же быстрее чем "НЕ" Повторяя тест в (108), было проведено трехкратное измерение обоих условий, начиная со второго запуска цикла. Получены следующие данные чистого времени выполнения конструкций: Если НЕ 1=1 Тогда 0.748 0.755 0.757 Если 1<>1 Тогда 0.728 0.741 0.726 Итого, <> отрабатывает быстрее на несколько миллионных долей секунды. Платформа 8.3.5, цикл выполнялся на стороне сервера.  | 
|||
| 
    114
    
        lucifer    
     06.06.15 
            ✎
    18:21 
 | 
         
        (0)  Не Переменная1 = Переменная2 - это вынос мозга, по рукам за такое     
         | 
|||
| 
    115
    
        Vovan1975    
     06.06.15 
            ✎
    19:29 
 | 
         
        (0) отличный вопрос! В системах двоичной логики - без разницы.
 
        В системах троичной логики разница есть.  | 
|||
| 
    116
    
        Vovan1975    
     06.06.15 
            ✎
    19:34 
 | 
         
        (0) вы это слышали там где рассказывалось про SQL. Ибо среда SQL использует троичную логику. Там есть true, false и unknown. В случае сравнения NULL с NULL возвращается не true как можно было бы ожидать, а unknown.     
         | 
|||
| 
    117
    
        Nirvana    
     06.06.15 
            ✎
    22:20 
 | 
         
        (94)+ Помимо чисто технических соображений есть ещё и факторы восприятия, о которых тут уже говорили (хотя и весьма субъективно).
 
        Воспринимать комбинацию "<>" как условие "не равно" человек может лишь при двух обстоятельствах: 1) он привык к тому, что в языке нет оператора "НЕ". 2) он не привык часто использовать операторы "больше" и "меньше" для сравнения числовых значений. В других же случаях сочетание "Альфа<>Омега" первым делом вызывает впечатление, что сравниваются числа. Затем, если имена переменных имеют явно нечисловое смысловое наполнение ("Контрагент<>НашаФирма"), следует вывод, что "это не числа", после чего следует узнавание самой комбинации "<>" ("это неравенство"), после чего следует конечный вывод ("контрагент - не наша фирма"). А при условии "Не Контрагент=НашаФирма", следуют лишь две мыслительных операции: "не выполнено условие..." и "не наша фирма". Когда такие условия встречаются редко, трудности восприятия конструкции "<>" могут быть совсем незаметны, ведь всё происходит за доли секунды. Но когда в модуле множество всевозможных условий, когда условие неравенства повторяется многократно, чередуясь с другими, более сложными условиями, тогда заминки при встрече "<>" становятся куда ощутимее. Я, например, больше десяти лет всегда писала "<>", даже ещё года полтора назад писала "<>". Теперь же всегда ставлю "Не =", в том числе когда свои же старые модули встречаю, переделываю на "Не =", ибо реально легче воспринимается.  | 
|||
| 
    118
    
        фобка    
     06.06.15 
            ✎
    23:25 
 | 
         
        (113) теперь сделайте тест для поля составного типа и утритесь     
         | 
|||
| 
    119
    
        la luna llena    
     06.06.15 
            ✎
    23:42 
 | 
         
        В типовых используют Не     
         | 
|||
| 
    120
    
        b_ru    
     07.06.15 
            ✎
    06:55 
 | 
         
        (110) Ессно, в стандарте C++ нет NULL в смысле баз данных (null-pointer - это совсем другое). А что там в конкретной библиотечке нарисуют можно только гадать, поэтому только !(==)     
         | 
|||
| 
    121
    
        oslokot    
     07.06.15 
            ✎
    08:18 
 | 
         
        (118) В чем проблема? Ну сделай и выложи результат сюда, куле)     
         | 
|||
| 
    122
    
        ILM    
     гуру 
    07.06.15 
            ✎
    09:58 
 | 
         
        В институте на первой лекции по программированию на языке фортран-76 наш Преподаватель целых 45 минут объяснял ветвления IF и логические операторы, так про "<>" было объяснено,  что это три оператора "<" "ИЛИ" ">", а про "НЕ" "РАВНО" - это два оператора. И еще много такого, чем пользуюсь до сих пор... 
 
        Так что у меня "НЕ =".  | 
|||
| 
    123
    
        ДенисЧ    
     07.06.15 
            ✎
    10:01 
 | 
         
        По итогам ветки теперь буду писать Если НЕ (а = 1) ТОгда...
 
        Блин... Я же сам себе потом руки вырву, когда через месяц буду код править....  | 
|||
| 
    124
    
        hhhh    
     07.06.15 
            ✎
    10:15 
 | 
         
        (12) в языке 1с не так тупо воспринимается. <> это один символ, а не сумма двух.     
         | 
|||
| 
    125
    
        dmpl    
     07.06.15 
            ✎
    11:37 
 | 
         
        (120) А в стандарте какого большинства языков он есть?     
         | 
 | Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |