LINUX.ORG.RU

История изменений

Исправление MOPKOBKA, (текущая версия) :

Во-первых покажи где то, что ты описывал, сейчас глянул гитхаб по диагонали и ничего такого не увидел.

Некоторые мои утверждения ты можешь проверить посмотрев все файлы, и на это не уйдет много времени

grep -r 'class [A-Z]' src/  | wc -l
13

find src/ -name '*.js' | wc -l
105

Покажешь где?

Вот например ВЕСЬ код пакета «is-reference», там конечно еще есть описание и прочее, но это leftpad пакет из одной функции.

export default function is_reference (node, parent) {
	if (node.type === 'MemberExpression') {
		return !node.computed && is_reference(node.object, node);
	}

	if (node.type === 'Identifier') {
		if (!parent) return true;

		switch (parent.type) {
			case 'MemberExpression': return parent.computed || node === parent.object;
			case 'MethodDefinition': return parent.computed;
			case 'PropertyDefinition': return parent.computed || node === parent.value;
			case 'Property': return parent.computed || node === parent.value;
			case 'ExportSpecifier':
			case 'ImportSpecifier': return node === parent.local;
			case 'LabeledStatement':
			case 'BreakStatement':
			case 'ContinueStatement': return false;
			default: return true;
		}
	}

	return false;
}
Все выписывать у меня нет желания...

Во-вторых - ты же понимаешь, что это компилятор и в продакшоне у тебя будет совсем другой код?

Конечно, там будет код намного хуже, библиотеки от жсеров, и основной код проекта от жсеров похуже.

Суть моего комментария в том, что можно взять любой язык, и будет тоже самое, хороший код это выдумка.

Исправление MOPKOBKA, :

Во-первых покажи где то, что ты описывал, сейчас глянул гитхаб по диагонали и ничего такого не увидел.

Некоторые мои утверждения ты можешь проверить посмотрев все файлы, и на это не уйдет много времени

grep -r 'class [A-Z]' src/  | wc -l
13

find src/ -name '*.js' | wc -l
105

Покажешь где?

Вот например ВЕСЬ код пакета «is-reference», там конечно еще есть описание и прочее, но это leftpad пакет из одной функции.

export default function is_reference (node, parent) {
	if (node.type === 'MemberExpression') {
		return !node.computed && is_reference(node.object, node);
	}

	if (node.type === 'Identifier') {
		if (!parent) return true;

		switch (parent.type) {
			case 'MemberExpression': return parent.computed || node === parent.object;
			case 'MethodDefinition': return parent.computed;
			case 'PropertyDefinition': return parent.computed || node === parent.value;
			case 'Property': return parent.computed || node === parent.value;
			case 'ExportSpecifier':
			case 'ImportSpecifier': return node === parent.local;
			case 'LabeledStatement':
			case 'BreakStatement':
			case 'ContinueStatement': return false;
			default: return true;
		}
	}

	return false;
}
Все выписывать у меня нет желания...

Во-вторых - ты же понимаешь, что это компилятор и в продакшоне у тебя будет совсем другой код?

Конечно, там будет код намного хуже, библиотеки от жсеров, и основной код проекта от жсеров похуже.

Исправление MOPKOBKA, :

Во-первых покажи где то, что ты описывал, сейчас глянул гитхаб по диагонали и ничего такого не увидел.

Некоторые мои утверждения ты можешь проверить посмотрев все файлы, и на это не уйдет много времени

grep -r 'class [A-Z]' src/  | wc -l
13

find src/ -name '*.js' | wc -l
105

Покажешь где?

Вот например ВЕСЬ код пакета «is-reference», там конечно еще есть описание и прочее, но это leftpad пакет из одной функции.

export default function is_reference (node, parent) {
	if (node.type === 'MemberExpression') {
		return !node.computed && is_reference(node.object, node);
	}

	if (node.type === 'Identifier') {
		if (!parent) return true;

		switch (parent.type) {
			case 'MemberExpression': return parent.computed || node === parent.object;
			case 'MethodDefinition': return parent.computed;
			case 'PropertyDefinition': return parent.computed || node === parent.value;
			case 'Property': return parent.computed || node === parent.value;
			case 'ExportSpecifier':
			case 'ImportSpecifier': return node === parent.local;
			case 'LabeledStatement':
			case 'BreakStatement':
			case 'ContinueStatement': return false;
			default: return true;
		}
	}

	return false;
}
Все выписывать у меня нет желания...

Исходная версия MOPKOBKA, :

Во-первых покажи где то, что ты описывал, сейчас глянул гитхаб по диагонали и ничего такого не увидел.

Некоторые мои утверждения ты можешь проверить посмотрев все файлы, и на это не уйдет много времени

grep -r 'class [A-Z]' src/  | wc -l
13

find src/ -name '*.js' | wc -l
105

Покажешь где?

Вот например ВЕСЬ код пакета «is-reference», там конечно еще есть описание и прочее, но это leftpad пакет из одной функции.

export default function is_reference (node, parent) {
	if (node.type === 'MemberExpression') {
		return !node.computed && is_reference(node.object, node);
	}

	if (node.type === 'Identifier') {
		if (!parent) return true;

		switch (parent.type) {
			case 'MemberExpression': return parent.computed || node === parent.object;
			case 'MethodDefinition': return parent.computed;
			case 'PropertyDefinition': return parent.computed || node === parent.value;
			case 'Property': return parent.computed || node === parent.value;
			case 'ExportSpecifier':
			case 'ImportSpecifier': return node === parent.local;
			case 'LabeledStatement':
			case 'BreakStatement':
			case 'ContinueStatement': return false;
			default: return true;
		}
	}

	return false;
}