@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{  };};
  • Вопрос задан
  • 3175 просмотров
Решения вопроса 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%...
Ответ написан
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы