Ostrovsky_Miroslav
@Ostrovsky_Miroslav
Понравился ответ? Отметь решением!

Как можно сделать код, что-бы он был красивее?

Всем приветик, друзья разработчики. Написал вот такой код для расстановки точки в конце и заглавной буквы в начале. Хотел бы получить этот код, только красивее, настолько это возможно.

const endMessage = (text: string) => {
	if (text.includes("
") || /^(?:\[club\d+\|.*])/.test(text)) {
		return text;
	}
	let newText = text;
	if (/(?=[^\d])[\wа-яё]/i.test(utils.array.last(text.split("")))) {
		newText += ".";
	}
	if (/(?=[^\d])[\wа-яё]/.test(text[0])) {
		newText = newText.substring(1);
		newText = text[0].toUpperCase() + newText;
	}
	return newText;
};
  • Вопрос задан
  • 135 просмотров
Пригласить эксперта
Ответы на вопрос 1
  • на функции побейте, с вменяемыми названиями
  • литералам регулярок можно тоже дать нормальные имена, сейчас не разберёшь что собственно тестится регуляркой - приходится её читать и думать
  • непонятно зачем тут стрелочная функция вместо обычной, ради чего весь этот синтаксический шум
  • непонятно зачем это присваивание: newText = newText.substring(1);, чтобы что? Почему не завести отдельную переменную tailText или перенести это во второе выражение?
  • лично я запутался в использовании text и newText - непонятно почему в последнем условии тестируется text[0], а хвост берём у newText. Выглядит так, что это сделано специально, но не пойму почему. А если НЕ специально - то вот вам пример как вы усложнили код на ровном месте.

Чем меньше вы пользуетесь сменой состояния, иными словами, чем больше у вас констант, а не переменных, и чем меньше присваиваний - тем код лучше читается. Я надеюсь вы не ради экономии чего-то там это делаете.
Ответ написан
Ваш ответ на вопрос

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

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