Вы занимаетесь пустой полемикой. Это был ответ на Ваше утверждение, что начальник программиста — проект менеджер. В Вашем же комментарии нет ни слова о том, что проект менеджер управляет программистами.
Скажите, а Вы мержили ветки нескольких разработчиков, или пытались найти ответственного за изменения трёхмесячной давности в очень большом проекте с активными коммитами? С утверждением, что это касается только пользователей я был бы поаккуратнее.
«При этом я отдаю себе отчет в том, что верстка – не твой профиль, но ты мог отдать верстку кому-то еще, и за 300 долларов получил бы полностью сверстанный сайт, где бы оставалось только прикрутить функционал.»
Применительно к рассмотренному случаю, я бы написал так:
function getRectangleArea(/**Object*/o)/**Number*/{
function getRectangleArea(/**Number*/width, /**Number*/height)/**Number*/{
return width * height;
}
if ('width' in o && 'height' in o) {
return getRectangleArea(o.width, o.height);
}
if ('x1' in o && 'x2' in o && 'y1' in o && 'y2' in o) {
return getRectangleArea(o.x2 - o.x1, o.y2 - o.y1);
}
}
console.log(getRectangleArea({width: 10, height: 10}));
console.log(getRectangleArea({x1: 10, x2: 20, y1: 10, y2: 20}));
Жесть, Вы точно программиста ищете?