24.12.2014, 12:10
|
|
|
Регистрация: 10.07.2008
Сообщений: 3,873
|
|
Сообщение от melky
|
Сообщение от fancy
|
Еще пример
//Bad
var a = 5;
var b = 7;
var c = 10;
У тебя в такой стиле все примеры.
|
// надо так?
var a = 5,
b = 7,
c = 10;
// можно еще так
var a = 5
, b = 7
, c = 10
|
yandex codestyle
|
|
24.12.2014, 12:13
|
Аспирант
|
|
Регистрация: 16.12.2014
Сообщений: 67
|
|
Привет, Octane
Как жизнь, как работа в mail.ru ?
Слышал ты в армию успел сходить.
Во во
То что у yandex в этом примере плохо для меня хорошо, но мой стиль все равно другой)))
Где-то встречал сайт для генерации стиля кода компании.
Если найду скину.
Просмотрел стиль Яндекс, нормально.
Не совсем согласен, но пойдет
Последний раз редактировалось fancy, 24.12.2014 в 12:22.
|
|
24.12.2014, 12:19
|
|
Быдлокодер;)
|
|
Регистрация: 19.11.2010
Сообщений: 4,338
|
|
Octane, как по мне - оба варианта нормальные, но всё таки, имхо, правильнее юзать итераторы, forEach, map, reduce и т.д.
Кстати, часто замечаю, что люди юзают в основном forEach, причём зачастую гораздо лучше было бы использовать reduce или map, но люди почему то их боятся
|
|
24.12.2014, 12:35
|
sinistral
|
|
Регистрация: 28.03.2011
Сообщений: 5,418
|
|
Octane, лебедь, рак и щука
Сообщение от kobezzza
|
правильнее юзать итераторы, forEach, map, reduce
|
это ведь уже выход за пределы императивности? ФеПешка
Сообщение от kobezzza
|
лучше было бы использовать reduce или map
|
array compherension ES7
Последний раз редактировалось melky, 24.12.2014 в 12:37.
|
|
24.12.2014, 12:36
|
|
Быдлокодер;)
|
|
Регистрация: 19.11.2010
Сообщений: 4,338
|
|
Цитата:
|
это ведь уже выход за пределы императивности? ФеПешка
|
Да какая разница - это удобно и наглядно.
Вот пример - заглушка для console API и один простой reduce.
var console = [
'log',
'debug',
'info',
'warn',
'error',
'assert',
'dir',
'dirxml',
'trace',
'group',
'groupCollapsed',
'groupEnd',
'time',
'timeEnd',
'profile',
'profileEnd',
'count'
].reduce((obj, el) => (obj[el] = () => {}) && obj, {});
Цитата:
|
array compherension ES7
|
Это так кажется, я их специально пытался юзать, но всё равно они покрывают лишь очень малый кейз и итерационные методы всё равно удобней / универсальней.
Последний раз редактировалось kobezzza, 24.12.2014 в 12:41.
|
|
24.12.2014, 12:57
|
|
|
Регистрация: 10.07.2008
Сообщений: 3,873
|
|
Сообщение от fancy
|
Привет, Octane
Как жизнь, как работа в mail.ru ?
Слышал ты в армию успел сходить.
|
Привет)
Да круто все, в mail.ru работы много, без дела ни дня не проведешь, но атмосфера и условия отличные, работается с удовольствием. Да, отслужил, ну как отслужил… напрограммировал в штабе на сержанта запаса
Сообщение от kobezzza
|
Octane, как по мне - оба варианта нормальные
|
я тоже раньше писал
var a = 5,
b = 7,
c = 10;
пока мне не досталось 1,5MB незнакомого кода без 'use strict', который правило несколько человек, в некоторых модулях было куча:
var module1 = require('…'),
module2 = require('…'),
module3 = require('…')*!*;*/!*
module4 = require('…'),
module5 = require('…');
кто-то в спешке добавлял модули и забыл поставить запятую, без 'use strict' все работает и найти такую штуку очень трудно, когда у тебя 100+ модулей в проекте, о которых ты мало что знаешь
К пользователю код попадает после UglifyJS, который сам все переменные в один var объединяет, поэтому экономить на varax смысла нет, я сейчас больше склоняюсь к варианту:
var a = 5;
var b = 7;
var c = 10;
но вот рекомендацию «Переменные объявляются как можно ближе к месту использования» принять никак не могу, считаю без let это вредным советом
Последний раз редактировалось Octane, 24.12.2014 в 13:08.
|
|
24.12.2014, 13:14
|
|
Профессор
|
|
Регистрация: 23.12.2013
Сообщений: 1,856
|
|
fancy,
Цитата:
|
Но мне кажется, возможно ошибаюсь(поправьте если не так), яндекс уже не развивается.
|
Нет, развивается.
Цитата:
|
Сейчас если хороший спец по js ищет работу то пойдет в mail.ru
|
Нет, не обязательно.
Цитата:
|
мне ситуация с yandex напоминает ситуацию с rambler
В свое время все говорили, rambler супер проект, прорывной.
А потом с него все ушли.
У yandex сейчас тоже самое.
|
Нет.
|
|
24.12.2014, 13:18
|
|
Профессор
|
|
Регистрация: 23.12.2013
Сообщений: 1,856
|
|
kobezzza,
Цитата:
|
например, я юзаю табы, а не пробелы
|
Я разочаровался в тебе(
|
|
24.12.2014, 13:21
|
|
Быдлокодер;)
|
|
Регистрация: 19.11.2010
Сообщений: 4,338
|
|
Сообщение от Safort
|
kobezzza,
Я разочаровался в тебе(
|
|
|
24.12.2014, 14:03
|
Аспирант
|
|
Регистрация: 16.12.2014
Сообщений: 67
|
|
Сообщение от Octane
|
но вот рекомендацию «Переменные объявляются как можно ближе к месту использования» принять никак не могу, считаю без let это вредным советом
|
+1
Практически все объявляю вверху.
Сообщение от Octane
|
пока мне не досталось 1,5MB незнакомого кода без 'use strict', который правило несколько человек, в некоторых модулях было куча:
|
Как раз пользуюсь 'use strict'
не делаю много var по куче причин.
Когда работаешь с ООП библиотекой обычная функция в 5-10 объявлений переменных. Приходится так делать из-за ссылки на используемые модули(подъобъекты класса, не знаю как нормально назвать ), а ссылаться на модули приходится чтобы код после минификации весил меньше.
И получается, что из-за 'use strict' ошибок нет, а даже если бы и не использовал strict mode, то приоритет сделать проект меньшим по размеру.
Еще одна причина, почему не много var - когда в обычной функции по 5-10 var, замучаешься их писать.
Все вот надеюсь, что для console.log сделают возможным log, а то замучился... этот console писать
(чтобы понять, представьте за года надо 50 000+ раз его надо написать)
Возможно утрировал что 50 000, хотя...
Последний раз редактировалось fancy, 24.12.2014 в 14:44.
|
|
|
|