Может быть множественным, если условия, имеющие И ИЛИ НЕ проверяет это, могут быть заменены любым другим более оптимизированным кодом JAVA - PullRequest
1 голос
/ 20 сентября 2011

В моем коде есть число If (s) без каких-либо условий (на самом деле еще не требуется), но я думаю, что должен быть какой-либо другой код, который имеет большую эффективность, чем несколько if (s). К вашему сведению if if if (Some And Or Nots) if (условия AND OR NOTS) ...?

Помогите, пожалуйста, оптимизировать код, так как он вырос до огромного объема?

Ответы [ 4 ]

2 голосов
/ 20 сентября 2011

заменить условное с полиморфизмом - <рефакторинг, улучшение дизайна существующего кода>, запись от Мартина Фаулера

2 голосов
/ 20 сентября 2011

Я не уверен, что вы уже пробовали это, но можете ли вы сгруппировать ваши операторы if в значимые функции? Может предотвратить дублирование кода, а иногда для небольших вещей это лучше, чем полиморфизм.

, например, если у вас есть:

Girl shirly;
Girl ruth;
if(shirly.pretty && shirly.smart && (!shirly.married)){
   ...
}
if(ruth.pretty && ruth.smart && (!ruth.married)){
   ...
}

//a better way will be
if(doILove(shirly)){
...
}
if(doILove(ruth)){
...
}
//or in case of a more general statment
if(doLoveCondition(shirly.pretty,shirly.smart,!shirly.married){
...
}
if(doLoveCondition(ruth.pretty,ruth.smart,!ruth.married){
...
}

, если бы вы разместили код, было бы проще найти конкретное решение.

1 голос
/ 22 сентября 2011

Профилирующее приложение, на мой взгляд, лучший ответ, чтобы решить, нужно ли оптимизировать код.У него всегда есть двусторонний ответ: слишком большая оптимизация, даже может привести к потере производительности и упрощению, делает код более читабельным и даже оптимизированным в соответствии со строкой кода.

1 голос
/ 20 сентября 2011

Возможно, вы захотите взглянуть на оператор switch.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...