Re[8]: Как упростить код
От: Lloyd Россия  
Дата: 19.04.12 20:41
Оценка:
Здравствуйте, batu, Вы писали:

L>>Существует мнение, что код чаще читают, чем пишут. Вот для таких случаев и нужна обратная конвертация.

B>Правильное мнение.. И редактируют тоже..Но зачем тут обратная?..

Зачем, чтобы понять, что такая-то форматная строка будет использована для такого-то случая.

B>Так же сверху вниз и читается.. Вот и If-ами приходитися вверх-вниз и обратно.. и не один раз пока въедешь.


Так и есть, но ты из этого делаешь странный вывод, что мол надо эту совокупность condition-ов оттранслировать в число и использовать его. При этом прыгать все равно придется (для того, чтобы понять что именно означает case = 3).
Имхо, более логичным было бы предложить убрать вложенность этих if-ов сведя их к "плоским" if-ам.

B>Или я не понял смысла слова "обратная конвертация". Это как?


Прямая конвертация из condition-ов — это конвертация condition-ов в число, соответственно, обратная — наоборот. Что тут непонятного?
Re[9]: Как упростить код
От: batu Украина  
Дата: 20.04.12 05:37
Оценка:
Здравствуйте, Lloyd, Вы писали:


L>Так и есть, но ты из этого делаешь странный вывод, что мол надо эту совокупность condition-ов оттранслировать в число и использовать его. При этом прыгать все равно придется (для того, чтобы понять что именно означает case = 3).

L>Имхо, более логичным было бы предложить убрать вложенность этих if-ов сведя их к "плоским" if-ам.

Ты считаешь что прыгать среди вложеных If-ов легче? И в реальных задачах не симпатичные кодишен 1-2-3, а довольно не простые выражения тоже выносящие мозги. Плоские звучит хорошо.. А что за зверь?
Re[10]: Как упростить код
От: _d_m_  
Дата: 20.04.12 07:00
Оценка:
Здравствуйте, batu, Вы писали:

B>Ты считаешь что прыгать среди вложеных If-ов легче? И в реальных задачах не симпатичные кодишен 1-2-3, а довольно не простые выражения тоже выносящие мозги. Плоские звучит хорошо.. А что за зверь?


Nemerle рулит

Смотри пример hardcase-а с Patern Matching
... << RSDN@Home 1.2.0 alpha 5 rev. 1539>>
Re: Как упростить код
От: Tigor Россия  
Дата: 20.04.12 07:57
Оценка:
Можно укомпактить

return
    condition1 
        ? (condition2 ? string.Format( "{0}", p[1]) : string.Format( "{0}-{1}", p[1], p[0]))
        : (condition2 ? string.Format( "{0:N3}", p[1]) : string.Format( "x:{0:N3} y:{0:N3}", p[1], p[0]))


И может быть тут лучше не использовать странные имена и массив из двух элементов.
Возможно, вместо массива надо использовать некий объект, куда и запихнуть форматирование.
К сожалению, в действительности все выглядит иначе, чем на самом деле.
Re: Как упростить код
От: Tigor Россия  
Дата: 20.04.12 08:03
Оценка:
Здравствуйте, Аноним, Вы писали:

string.Format( "x:{0:N3} y:{0:N3}", p[1], p[0] );

И ваще тут явная бага ))
К сожалению, в действительности все выглядит иначе, чем на самом деле.
Re[11]: Как упростить код
От: batu Украина  
Дата: 20.04.12 08:44
Оценка: -1
Здравствуйте, _d_m_, Вы писали:

___>Здравствуйте, batu, Вы писали:


B>>Ты считаешь что прыгать среди вложеных If-ов легче? И в реальных задачах не симпатичные кодишен 1-2-3, а довольно не простые выражения тоже выносящие мозги. Плоские звучит хорошо.. А что за зверь?


___>Nemerle рулит


___>Смотри пример hardcase-а с Patern Matching

А в двух словах сюда?
Re[12]: Как упростить код
От: _d_m_  
Дата: 22.04.12 12:39
Оценка:
Здравствуйте, batu, Вы писали:

___>>Nemerle рулит


___>>Смотри пример hardcase-а с Patern Matching

B>А в двух словах сюда?

Епп...ерный театр. Тв ветку вообще читаешь? Re[5]: Как упростить код
Автор: hardcase
Дата: 17.04.12
... << RSDN@Home 1.2.0 alpha 5 rev. 1539>>
Re: Как упростить код
От: vdimas Россия  
Дата: 22.04.12 14:38
Оценка:
Здравствуйте, Аноним, Вы писали:

А>Вот такой лабиринт,


Разве что, поменять местами проверки для совпадения сигнатур, чтобы использовать тернарный оператор:
return condition2 ?
  string.Format(condition1 ? "{0}" : "{0:N3}", p[1]) :
  string.Format(condition1 ? "{0}-{1}" : "x:{0:N3} y:{1:N3}", p[1], p[0]);


А вообще, вовсе не принципиально для 4-х строк значащего кода.
Любое компактное описание читается заведомо хуже "объемного", если в коде идет логика ветвления по нескольким переменным.

==========
Тут еще правильный был намек на таблицу, он подходит для большого кол-ва булевых переменных. Но для доведения этого намека до ума надо по-другому закодировать состояния, чтобы ветвиться только по одной переменной.
Re[13]: Как упростить код
От: batu Украина  
Дата: 22.04.12 15:06
Оценка: -2 :)
Здравствуйте, _d_m_, Вы писали:

___>Здравствуйте, batu, Вы писали:


___>>>Nemerle рулит


___>>>Смотри пример hardcase-а с Patern Matching

B>>А в двух словах сюда?

___>Епп...ерный театр. Тв ветку вообще читаешь? Re[5]: Как упростить код
Автор: hardcase
Дата: 17.04.12

Не смотрел.. Да хороший вариант с точки зрения читабельности.. Но, мой эффективней..Это не говорит от том, что его нельзя сделать более наглядным.. Ввести вместо 1-3 перечислимые переменные "TrueTrue" и т.д... Как вариант..
Re[14]: Как упростить код
От: _d_m_  
Дата: 23.04.12 00:08
Оценка:
Здравствуйте, batu, Вы писали:

B>Не смотрел.. Да хороший вариант с точки зрения читабельности.. Но, мой эффективней..Это не говорит от том, что его нельзя сделать более наглядным.. Ввести вместо 1-3 перечислимые переменные "TrueTrue" и т.д... Как вариант..


Да-дад. Волосы на 87% шелковистее.
... << RSDN@Home 1.2.0 alpha 5 rev. 1539>>
Re[15]: Как упростить код
От: batu Украина  
Дата: 23.04.12 04:04
Оценка: -1 :)
Здравствуйте, _d_m_, Вы писали:

___>Здравствуйте, batu, Вы писали:


B>>Не смотрел.. Да хороший вариант с точки зрения читабельности.. Но, мой эффективней..Это не говорит от том, что его нельзя сделать более наглядным.. Ввести вместо 1-3 перечислимые переменные "TrueTrue" и т.д... Как вариант..


___>Да-дад. Волосы на 87% шелковистее.

От сложности условий зависит.. А вот такой резкости не пойму. Мы ж обсуждаем варианты или здесь одобряются только оды Немерле?
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.