Задать вопрос
@frees2

Как в моем случае облагородить код, сделать красивей, не руша логику?

Тестирую историю, вроде все работает, демо для тестирования на
www.dulsky.eu/v/6sPiPA4ogwA
История обновляется внизу, смотришь и переключаешь историю, хоть браузером.

Но будучи в js быдлокодером, хотелось спросить, как облагородить код, сделать красивей, не руша логику? (JSON.stringif позволяет загружать с любого места и все что угодно, но тут всего лишь строка.
history.pushState(\''.$videoId.'\', null, \''.$videoId.'\') ;
где videoId может быть лентой JSON )
var i = 0;
(function(history)
{ var pushState = history.pushState;
history.pushState = function(state)
 { if 
(typeof history.onpushstate == "function")

{history.onpushstate({state: state});} 

return pushState.apply(history, arguments); }})
(window.history);
window.onpopstate = history.onpushstate = function(e)
{ 
i++; test=JSON.stringify(e.state);
var reg_pusto = test;
if (reg_pusto.length>10)
{ test =test.replace(/"/g,"");
loc =window.location.pathname;
loc = loc.substr(3,52);
loc =loc.replace(/=list=/g,"&list=");
locris = loc.substr(0,11);
 if (locris.length<11) {locris2=''} 
else
{ locris2= '<span onclick="ytplayer.loadVideoById(\''+loc+ '\', 0);return false"><img src="https://i1.ytimg.com/vi/'+ locris + '/default.jpg" align="left" width="120" height="70"></span>' };
if (test==loc) { test2= ' ' ;}
 else
{ test2='<span onclick="ytplayer.loadVideoById(\''+ test + '\', 0);return false"><img src="https://i1.ytimg.com/vi/'+ test + '/default.jpg" align="right" width="120" height="70"></span>' ; };
$('#ms').html(''+ test2 + ''+i+''+ locris2 + ''); }
else{  };};
  • Вопрос задан
  • 3176 просмотров
Подписаться 2 Оценить Комментировать
Решения вопроса 1
xakpc
@xakpc
full-stack .net developer, CEO Leecero.com
Я не знаю js но общие принципы рефакторинга подскажу.
1) покройте изменяемый код тестами
2) устраняйте дублирование, по одному за раз
3) устранили, запускайте тесты
4) продолжать до полного удовлетворения кодом
Ответ написан
Пригласить эксперта
Ответы на вопрос 3
nazarpc
@nazarpc
Open Source enthusiast
Отформатируйте для начала, а то кастрюля с макаронами получается)
Ответ написан
Комментировать
@aplic
Вот я смотрю на это
''+ test2 + ''+i+''+ locris2 + ''
Этим можно детей пугать.
Ответ написан
dabich
@dabich
Web Developer
Нужно научиться писать код по стилю, по его структуре для поддержки и понимания самого кода. А не мучить глаза в каше символов.

ru.wikipedia.org/wiki/%D0%A1%D1%82%D0%B0%D0%BD%D0%...
Ответ написан
Ваш ответ на вопрос

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

Похожие вопросы
Rocket Смоленск
от 80 000 до 130 000 ₽
Wanted. Москва
от 250 000 до 400 000 ₽
Wanted. Санкт-Петербург
До 220 000 ₽
26 дек. 2024, в 21:50
5000 руб./за проект
26 дек. 2024, в 21:12
2500 руб./за проект
26 дек. 2024, в 21:01
10000 руб./за проект