Страницы

Поиск по вопросам

вторник, 28 января 2020 г.

Как правильно написать “if else” в теле “for” без повторений

#html #алгоритм #frontend #code_style #velocity


Мой код ревьювер сказал, изменить текущий так как он не соответсвует принципу "Don't
repeat yourself" en.wikipedia.org/wiki/Don%27t_repeat_yourself
Конструкцию if else надо изменить. Технология ".vm", java apach velocity template,
но думаю это не очень важно. 

#set($first = "true")
#foreach($item in $data)
    #if($first == "true")
        
#set($first = "false") #else
#end

str1

str2

str3

##//Close div created in (if else) #end


Ответы

Ответ 1



Но, на мой взгляд, это типичный пример принесения читаемости кода в жертву догматическому следованию "принципу".

Ответ 2



Признак первого элемента при переборе можно получить из переменной $foreach: $foreach.first Следовательно код может принять вид: #foreach($item in $data)

str1

str2

str3

##//Close div created in (if else) #end

Ответ 3



Можно попробовать упростить до: #set($first = "first") #foreach($item in $data)
...
#if($first == "first") #set(first = "") #end #end не знаком с этим языком шаблонов, поправьте. Идея ясна должна быть

Комментариев нет:

Отправить комментарий