![]() |
#22 |
Участник
|
Не, ребят.
1. Вы занимаетесь внешним видом, а не сутью. В ваших примерах (как и в изначальном) нахождение остатка от деления вычисляется несколько раз (до 4 вместо необходмых 2 вычислений). Представьте, что в реальной жизни это будет не нахождение остатка от деления, а вычисление остатка на некую дату на некоем складе и отдельно на складе пополнения. Вы и там тоже будете запускать процедуру расчета остатков лишние разы? 2. Чем плох if else if... тем что выражение внутри if вычисляется несколько раз. условие внутри switch всегда вычисляется только один раз. Именно для этого (ну, кроме формы записи) и вводился switch в процедурные языки. если в switch условие вычисляется один раз, а в case константы... то можно добиться существенной оптимизации. А не только внешнего вида. в исходном примере суть switch вывернута наизнанку - условие константа, а в case - выражения (вдобавок с избыточным количеством). Возврат к if else if... это возврат. примерно так. удивительно, что об этом приходится писать. |
|
|
Опции темы | Поиск в этой теме |
Опции просмотра | |
|