AXForum  
Вернуться   AXForum > Microsoft Dynamics AX > DAX: База знаний и проекты
All
Забыли пароль?
Зарегистрироваться Правила Справка Пользователи Сообщения за день Поиск

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 25.12.2004, 18:55   #21  
Alks is offline
Alks
Участник
 
336 / 41 (2) +++
Регистрация: 23.07.2004
Адрес: г. Новокузнецк
Цитата:
Изначально опубликовано Ruff
Нет, ну вот привязался! (с)
Отнюдь! Фишка со switch( true ) мне очень понравилась - сам бы я до такого не догадался. Уважаю. Остальное - всё как написал уже выше - без личностей и инсинуаций. На самом деле.
Всех с наделёким наступающим!
Старый 25.12.2004, 19:25   #22  
mazzy is offline
mazzy
Участник
Аватар для mazzy
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
29,472 / 4494 (208) ++++++++++
Регистрация: 29.11.2001
Адрес: Москва
Записей в блоге: 10
Цитата:
Изначально опубликовано Alks
Вот я (и не только я) как раз и не считаю что в сиподобных языках switch чем то лучше if / else в плане читабельности кода - пример приведен постом выше. Главное отступы и пробелы в нужных местах.
Не выдержал таки, вставлю и свои 5 копеек.

Задача switch - вовсе не повышение читабельности и не уменьшение нажатий на кнопки.

switch отличается от else if в том, что выражение в условии вычисляется ОДИН раз.
Разница в производительности проявляется, если в условии стоит не простая переменная, а сложное выражение.

Так, например, если в условии стоит какой-нибудь поиск в базе по нескольким таблицам, то switch будет вычислять это выражение один раз. А для else if придется создавать временную переменную.
Старый 26.12.2004, 05:11   #23  
Alks is offline
Alks
Участник
 
336 / 41 (2) +++
Регистрация: 23.07.2004
Адрес: г. Новокузнецк
Цитата:
Изначально опубликовано mazzy

Не выдержал таки, вставлю и свои 5 копеек.

Задача switch - вовсе не повышение читабельности и не уменьшение нажатий на кнопки.

switch отличается от else if в том, что выражение в условии вычисляется ОДИН раз.
Разница в производительности проявляется, если в условии стоит не простая переменная, а сложное выражение.

Так, например, если в условии стоит какой-нибудь поиск в базе по нескольким таблицам, то switch будет вычислять это выражение один раз. А для else if придется создавать временную переменную.
Согласен. Действительно забыл про это.
Но:
1. switch( true ) этим достоинством не обладает.
2. случаи когда в switch стоит сложное выражение и для него уже не создано временной переменной достаточно редки, я даже не припомню таких случаев на своей памяти В 99% случаев применения switch выглядит именно так:
PHP код:
switch ( имя_переменной )
{
case 
значение1:
... break;
case 
значение2:
....break;
// и очень-очень редко, хотя стоило бы всегда:
default:
...break;

А вот прямо сейчас вот посмотрел в мануал по языку и увидел тот случай, когда switch выглядит проще и легче читается:
PHP код:
switch (Number 10)
{
case 
10,12,14 /* a */; break;
case 
13,17,21,500 /* b */; break;
default : 
/* c */; break;

Старый 27.12.2004, 15:28   #24  
Ruff is offline
Ruff
Дмитрий Ерин
Аватар для Ruff
1C
 
475 / 396 (14) ++++++
Регистрация: 18.09.2003
Адрес: Тула
Цитата:
Изначально опубликовано Alks

Остальное - всё как написал уже выше - без личностей и инсинуаций. На самом деле.
Всех с наделёким наступающим!
Да я, собственно, тоже без личностей и инсинуаций... Просто был удивлен такой "придирчивостью"
Присоединяюсь к поздравлениям!
Теги
switch, диапазон условий, интерпретатор, компилятор, полезное, программирование, разработка, условный оператор

 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
AX UK: Additional Customer Case studies for AX 2009 Blog bot DAX Blogs 1 01.04.2009 07:41
Книга Покупок можно ли не закрывать? asabin DAX: Функционал 1 18.11.2005 17:50
Можно ли в инамическом запросе использовать "group by"? yooshi DAX: Программирование 26 23.09.2005 16:35
Как задать высоту строки в гриде в символах. Logger DAX: Программирование 8 11.08.2005 13:03
Можно ли поменять налоговый код по проведенной закупке или накладной поставщика Голова 2уха DAX: Функционал 1 25.10.2004 11:51

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход

Рейтинг@Mail.ru
Часовой пояс GMT +3, время: 20:09.