Javascript-форум (https://javascript.ru/forum/)
-   Ваши сайты и скрипты (https://javascript.ru/forum/project/)
-   -   LiquidLava MVC Framework (https://javascript.ru/forum/project/52320-liquidlava-mvc-framework.html)

Octane 24.12.2014 12:10

Цитата:

Сообщение от 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
:D

fancy 24.12.2014 12:13

Привет, Octane :)
Как жизнь, как работа в mail.ru ?
Слышал ты в армию успел сходить.

Во во :)
То что у yandex в этом примере плохо для меня хорошо, но мой стиль все равно другой)))
Где-то встречал сайт для генерации стиля кода компании.
Если найду скину.

Просмотрел стиль Яндекс, нормально.
Не совсем согласен, но пойдет :)

kobezzza 24.12.2014 12:19

Octane, как по мне - оба варианта нормальные, но всё таки, имхо, правильнее юзать итераторы, forEach, map, reduce и т.д.

Кстати, часто замечаю, что люди юзают в основном forEach, причём зачастую гораздо лучше было бы использовать reduce или map, но люди почему то их боятся :)

melky 24.12.2014 12:35

Octane, :lol: лебедь, рак и щука

Цитата:

Сообщение от kobezzza
правильнее юзать итераторы, forEach, map, reduce

это ведь уже выход за пределы императивности? ФеПешка

Цитата:

Сообщение от kobezzza
лучше было бы использовать reduce или map

array compherension :) ES7

kobezzza 24.12.2014 12:36

Цитата:

это ведь уже выход за пределы императивности? ФеПешка
Да какая разница - это удобно и наглядно.

Вот пример - заглушка для 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
Это так кажется, я их специально пытался юзать, но всё равно они покрывают лишь очень малый кейз и итерационные методы всё равно удобней / универсальней.

Octane 24.12.2014 12:57

Цитата:

Сообщение от fancy
Привет, Octane
Как жизнь, как работа в mail.ru ?
Слышал ты в армию успел сходить.

Привет)
Да круто все, в mail.ru работы много, без дела ни дня не проведешь, но атмосфера и условия отличные, работается с удовольствием. Да, отслужил, ну как отслужил… напрограммировал в штабе на сержанта запаса :D

Цитата:

Сообщение от 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 это вредным советом

Safort 24.12.2014 13:14

fancy,
Цитата:

Но мне кажется, возможно ошибаюсь(поправьте если не так), яндекс уже не развивается.
Нет, развивается.

Цитата:

Сейчас если хороший спец по js ищет работу то пойдет в mail.ru
Нет, не обязательно.

Цитата:

мне ситуация с yandex напоминает ситуацию с rambler
В свое время все говорили, rambler супер проект, прорывной.
А потом с него все ушли.
У yandex сейчас тоже самое.
Нет.

Safort 24.12.2014 13:18

kobezzza,
Цитата:

например, я юзаю табы, а не пробелы
Я разочаровался в тебе(

kobezzza 24.12.2014 13:21

Цитата:

Сообщение от Safort (Сообщение 348092)
kobezzza,

Я разочаровался в тебе(

:D

fancy 24.12.2014 14:03

Цитата:

Сообщение от Octane (Сообщение 348082)
но вот рекомендацию «Переменные объявляются как можно ближе к месту использования» принять никак не могу, считаю без let это вредным советом

+1 :)
Практически все объявляю вверху.

Цитата:

Сообщение от Octane (Сообщение 348082)
пока мне не досталось 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, хотя...


Часовой пояс GMT +3, время: 20:32.