Какая ошибка в коде?

Class Carriage

    passengers = []

    constructor: (passengersData) -> 
        for passenger in passengersData 
            passengers.push 
                name: passenger.name 
                age: passenger.age

    getPassengers: () -> passengers

    getAverageAge: () -> 
        ageSum = 0 
        ageSum += passenger.age for passenger in passengers 
        ageSum / passengers.length

писал "одну приложуху" , и в слаке скинул "одному фронтендеру" который сказал что код написанный данным способом мягко говоря с ошибочно. Этот класс используется только для создания сущностей вагонов некоего поезда и подсчёта среднего возраста пассажиров в вагоне. Что в этом коде такого? (синтактических ошибок нет)
  • Вопрос задан
  • 848 просмотров
Пригласить эксперта
Ответы на вопрос 3
@milast
Как по мне, стиль написания очень тяжелый для понимания, что тут происходит. Это маленький кусок кода и здесь еще можно разобраться, но в другом случае вы уже сами через пару месяцев будете много времени тратить только на понимание написанного.
Поясню:
constructor : function(passengersData) {
    for (passenger in passengersData) {
        passengers.push({
            name: passenger.name,
            age: passenger.age
        });
    }
}

По мне так этот кусок кода значительно легче и привычнее воспринимается с первого взгляда, нежели нижеследующий:
constructor: (passengersData) -> 
    for passenger in passengersData 
        passengers.push 
            name: passenger.name 
            age: passenger.age


То есть в первом случае я обращал внимание только на название переменных и понимаю происходящее. Во втором случае мне еще приходится напрягаться на изучение синтаксиса.
Ответ написан
Комментировать
Bobsans
@Bobsans
Full-Stack Developer
Видимо все дело в "Кофейном скрипте")
Ответ написан
Комментировать
@bioroot
Обычно говорят что всё плохо и не говорят где именно редкие... "редиски". Я в таких случаях крайне рекомендую взять этого товарища за грудки, потрясти и спросить что конкретно не так. Таких "менторов", к сожалению, кругом пруд пруди. Пока вы не получите конкретный ответ, ваше общение не принесёт никакой пользы. А конкретные указания бывают очень разные в том числе и настолько нелепые, что потом будете удивляться. Но это будет хотя бы предметом обсуждения и вы можете либо сказать "Ой, ступил", либо объяснить почему вы выбрали именно такую реализацию.

А иначе получается как в анекдоте. Вы все здесь ..., а я Д'Артаньян.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы