Нашли или выдавили из себя код, который нельзя назвать нормальным,
на который без улыбки не взглянешь?
Не торопитесь его удалять или рефакторить, — запостите его на
говнокод.ру, посмеёмся вместе!
var sym = new Array();
sym["a"]=0;sym["c"]=1;sym["d"]=2;sym["e"]=3;sym["f"]=4;sym["g"]=5;sym["h"]=6;sym["k"]=7;sym["l"]=8;sym["m"]=9;sym["n"]=10;sym["p"]=11;sym["q"]=12;sym["r"]=13;sym["s"]=14;sym["t"]=15;sym["u"]=16;sym["w"]=17;sym["x"]=18;sym["z"]=19;sym["2"]=20;sym["3"]=21;sym["4"]=22;sym["5"]=23;sym["6"]=24;sym["7"]=25;
function convertCode(field)
{
var code = $(field).val().toLowerCase();
var convertedCode = sym[code.charAt(0)];
for (var i = 1; i < code.length; i++)
convertedCode += "_" + sym[code.charAt(i)];
$(field).closest(".captcha-block").find("#captchaCode").val(convertedCode);
}
Я не осилил, что делает это говно? (Сбербанк-Онлайн)
Там еще кодировка win-1251 и тег <head> открывается на 30й строке кода. Нет, я не фанат обфускации, но КАК?!
> что делает это говно?
Тормозит (массиво-объект, авторский join, DOM-фэйлы), вероятно, использует несколько элементов с одним ID, а также пишет в какое-то поле строки вида
Цитата с MSDN: Поддерживается в следующих режимах документов: стандартный режим Internet Explorer 9 и стандартный режим Internet Explorer 10.
Слоупоки такие слоупоки 😉 Хотя авторы js тоже слоупоки, раз только в жс 1.8.5 додумались внедрить свойство, которое надо было запилить сразу, в первой же версии.
Каждый раз как я использовал for-in в js - я горько жалел об этом впоследствии. Потому для меня в js нет for-in, потому не минусовал anonimb84a2f6fd141, т.к. в js он таки есть, то я его и не плюсовал.
Сегодня конец недели, потому уделю этому время.
Если сильно исхитриться и вложить все знания js(коими я не обладаю, да и лень) и смекалку (например использовать генераторы-итераторы), то можно написать качественные, быстрые хелпер-методы, с которыми использование for-in станет удобным и приобрет смысл. Примерно так:
for (var in $array(a))
for (var in $values(b))
for (var in $entries(b))
Но только вот делать такое лень. А должны делать разрабы браузеров и языка.
2 bormand
>>>додумались внедрить свойство, которое надо было запилить сразу, в первой же версии.
Почему не внедрили Object.values и Object.entries, который вернет кортеж из двух элементов:
[key,value]?
Ведь доступ по ключу отнимает какое-то время
Вменяемым же людям придется принять и полюбить императивный for, т.к. это самая быстрая и короткая версия.
С тем различием что замыкание изолирует переменную цикла в своем неймспейсе - иногда это полезно.
> открывается на 30й строке кода
Главное версию хтмл не указывать 😉 Тогда браузер молча сожрет любое говно и не подавится. У нас как-то на внутреннем сайте висела страничка, в которой ни одна <tr> не была закрыта. Так эта таблица во всех браузерах показывалась нормально.
> Производители браузеров понимают, кто пишет сайты, поэтому пытаются хоть как то разрулить)
Писатели сайтов понимают, что браузер схавает. Поэтому не пытаются писать правильный код. Порочный круг 😉
Не совсем о том, но накипело - периодически натыкаюсь на сайты по программированию, даже web программированию, написанные на joomla. Единственное что в них своего - копирайты. И при этом эти люди считают себя гуру.
> написанные на joomla
Вы так говорите, как-будто это что-то плохое. Если бы я делал свой сайт по программированию - я бы тоже его сляпал на джумле\вордпрессе, не писать же ради этого свой движок 😉
> Единственное что в них своего - копирайты.
Т.е. все статьи спизжены?
> Если бы я делал свой сайт по программированию - я бы тоже его сляпал на джумле\вордпрессе, не писать же ради этого свой движок 😉
Какова вероятность, что к тому времени когда вы будете способны сделать достойный прочтения сайт по веб-программированию, у вас не будет собственного движка (или освоенного фреймворка, как минимум)?
По другим же аспектам программирования - тут понятное дело, что разумно взять попавшийся под руку блоговый движок.
2 kegdan: А ты себе представлял, что чуваки оторвутся от шитья контроллеров что бы сделать себе бложек уютненький? На статьи-то поди еле времени хватает.
Из всех людей учавствующих в разработке сайта, верстальщиков только какая-то часть, и обычно далеко не самая значительная. Остальные люди, которые имеют такое же отношение к веб-разработке занимаются базами данных, прикладными программами обслуживающими эти базы. решающие всевозможные задачи связанные с функционированием сервера - и никто из этих людей может даже никогда не создать и одного сайта. Я за всю жизнь сделал может 3-4, и то, это было либо по дружбе, либо энтузиазм. По работе мне только один раз приходилось этим заниматься, и то, всего пару месяцев.
Мистер бетмен (у Вас просто логин на летучую мышь похож, ничего личного), согласитесь, что если бы Вам нужен был сайт о веб программировании, вы бы писали его сами (ибо на энтузиазме) И как бы не очень бы хотелось, что бы оно было собрано на низкопробной джумле на 30 минут
Если это что-то типа персонального блога, сделал бы из Вордрпесса скорее всего, ну или Орг + Мьюз. Сам бы ничего такого писать не стал - мне это не интересно / вообще не вижу смысла.
Да ну. На разметку и копипаст бойлерплейта куча времени уйдет.
Проще один раз поставить джумлу вордпресс или вики, или даже просто где-нибудь зарегиться и не связываться с серверами и хтмл, чем постоянно трахаться с этим хтмл.
На тех же вики разметка проще у удобней на порядки. А в цмсках вообще визивиг редакторы. Если цель сайта именно контент - эти способы явно лучше хтмл статики.
> прогнал через генератор html со стилями
Генератор запускать, статику выкладывать...
> Движки ещё какие-то изобретать
Дык полно же готовых цмс и вики... И ставятся даже нубом в пределах получаса... А если не хочется ставить - пожалуйста, есть всякие блогоплатформы типа хабра и жж. И никакого секса с генерацией и выкладыванием. И стили придумывать не надо, если готовые (или скачанные где-то рядом) устраивают.
Я просто не пойму, зачем такая сложная технология, если человеку не хочется связываться с вебом, а хочется просто запилить сборник тематических статей? 🙂
Где-то в тексте работы, о которой говорит пост http://habrahabr.ru/post/174057/, была цитата из кода какого-то движка, что-то вроде "// А это потому, что тупые пользователи пишут код после закрытого <body>".
Тормозит (массиво-объект, авторский join, DOM-фэйлы), вероятно, использует несколько элементов с одним ID, а также пишет в какое-то поле строки вида
Товарищ, помни! Создавая подобный код, ты даришь царю ещё один аргумент в пользу сишки!!!1111
Начиная с того как будет работать такой код
while (a in {'a':1,'b':2}){}
for (var a='a';a in {'a':1,'b':2;}){}
Заканчивая тем что он перебирает методы-прототипов, работает медленней и содержит кучу граблей.
http://stackoverflow.com/questions/500504/why-is-using-for-in-with-array-iteration-such-a-bad-idea
Так что такой for-in, можно расценивать как его отсутствие.
вот прямо как в случае в ОП
Object.keys
Слоупоки такие слоупоки 😉 Хотя авторы js тоже слоупоки, раз только в жс 1.8.5 додумались внедрить свойство, которое надо было запилить сразу, в первой же версии.
Тут на самом деле вопрос шире.
Если сильно исхитриться и вложить все знания js(коими я не обладаю, да и лень) и смекалку (например использовать генераторы-итераторы), то можно написать качественные, быстрые хелпер-методы, с которыми использование for-in станет удобным и приобрет смысл. Примерно так:
for (var in $array(a))
for (var in $values(b))
for (var in $entries(b))
Но только вот делать такое лень. А должны делать разрабы браузеров и языка.
2 bormand
>>>додумались внедрить свойство, которое надо было запилить сразу, в первой же версии.
Почему не внедрили Object.values и Object.entries, который вернет кортеж из двух элементов:
[key,value]?
Ведь доступ по ключу отнимает какое-то время
Вменяемым же людям придется принять и полюбить императивный for, т.к. это самая быстрая и короткая версия.
С тем различием что замыкание изолирует переменную цикла в своем неймспейсе - иногда это полезно.
Главное версию хтмл не указывать 😉 Тогда браузер молча сожрет любое говно и не подавится. У нас как-то на внутреннем сайте висела страничка, в которой ни одна <tr> не была закрыта. Так эта таблица во всех браузерах показывалась нормально.
Писатели сайтов понимают, что браузер схавает. Поэтому не пытаются писать правильный код. Порочный круг 😉
Вы так говорите, как-будто это что-то плохое. Если бы я делал свой сайт по программированию - я бы тоже его сляпал на джумле\вордпрессе, не писать же ради этого свой движок 😉
> Единственное что в них своего - копирайты.
Т.е. все статьи спизжены?
Какова вероятность, что к тому времени когда вы будете способны сделать достойный прочтения сайт по веб-программированию, у вас не будет собственного движка (или освоенного фреймворка, как минимум)?
По другим же аспектам программирования - тут понятное дело, что разумно взять попавшийся под руку блоговый движок.
2 kegdan: А ты себе представлял, что чуваки оторвутся от шитья контроллеров что бы сделать себе бложек уютненький? На статьи-то поди еле времени хватает.
Таким чувакам ну нафиг не сдался собственный сайт - хабры хватит с лихвой.
easyelectronics, radiokot, хабра то зачем? 🙂
> достойный прочтения сайт по веб-программированию
Так всё-таки вклад в программирование или в веб-программирование?
Проще один раз поставить джумлу вордпресс или вики, или даже просто где-нибудь зарегиться и не связываться с серверами и хтмл, чем постоянно трахаться с этим хтмл.
На тех же вики разметка проще у удобней на порядки. А в цмсках вообще визивиг редакторы. Если цель сайта именно контент - эти способы явно лучше хтмл статики.
1. написал в чем нибудь вроде rst
2. прогнал через генератор html со стилями
3. выложил генерёную статику
4. PROFIT
Движки ещё какие-то изобретать
Генератор запускать, статику выкладывать...
> Движки ещё какие-то изобретать
Дык полно же готовых цмс и вики... И ставятся даже нубом в пределах получаса... А если не хочется ставить - пожалуйста, есть всякие блогоплатформы типа хабра и жж. И никакого секса с генерацией и выкладыванием. И стили придумывать не надо, если готовые (или скачанные где-то рядом) устраивают.
Я просто не пойму, зачем такая сложная технология, если человеку не хочется связываться с вебом, а хочется просто запилить сборник тематических статей? 🙂
> все статьи спизжены?
тут хз, не проверял.