Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Оптимизация и Быстрый код (https://javascript.ru/forum/misc/1448-optimizaciya-i-bystryjj-kod.html)

Виталий 20.07.2008 23:57

Оптимизация и Быстрый код
 
Всем доброго времени суток.
Предпологается некий интересный тест, проверки написания бустрого ( при выполнении ) когда на JS. Суть в следующим: есть некий HTML code
<table id="Calendar" class="HWCalendar" border="1" cellpadding="0" cellspacing="0" onSelectStart="return false;">
<thead>
</thead>
<tbody>
</tbody>
</table>

неоходимо с помощью JS создать таблицу календаря, а именно с 2008.01.01 по 2009.01.01
первая TR сожержит список дней в формате Friday, February 1, 2008 ; Saturday, February 2, 2008 ... и т.д.
первый столбей содержит время 12:00 AM ; 12:30 AM .. 11:30 PM
остальный ячейки календаря просто пустые
конечная таблица должна быть 365 ( дней в году ) * 49 ( 24 зача * 2 т.к. интервал по 30 мин ) = 17885 TD в искомой таблице.
просто хочу оценить свой уровень и уровень людей на этом форуме.
сразу скажу, задача легкая, у меня для интрини под FF и IE занимает меньше 2с.
заранее спасибо, кому интересно
P.S. позже выложу примерный код для обсуждения

Snipe 21.07.2008 07:12

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

Kolyaj 21.07.2008 09:40

Цитата:

Сообщение от Snipe
но на результаты бы посмотрел

И на результаты бы не посмотрел, ибо простая неинтересная задача, требующая, тем не менее, много кодинга (вместе с тестированием и отладкой).

Виталий 21.07.2008 13:45

Много кодинга и времени на тестирование ??? :D 30мин на все правсе, динамически создать таблицу и все

Андрей Параничев 21.07.2008 13:56

Не вижу смысла в этой задаче, если честно. Как можно по ней определить чей-то уровень? Тут не алгоритм какой-то нужно придумать интересный, а просто написать код, который будет наименьшее количество раз "дергать" DOM, соответственно будет быстро работать.

Kolyaj 21.07.2008 14:24

Цитата:

Сообщение от Виталий
30мин на все правсе

ради чего? 30 мин кодинга на неинтересную задачу -- это много.

Если кто-то на форуме задает простой вопрос, написание ответа на который займет больше минуты, я лично прохожу мимо. Вот если вопрос интересный, то и час потратить не жалко. Ради создания таблички убивать пол часа? Извините, но тут (и не только тут) многим уже не нужно ничего никому доказывать.

Виталий 21.07.2008 20:01

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

Snipe 21.07.2008 20:22

Цитата:

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

У меня к Вам предложение: давайте Вы напишете свой код, а мы все вместе его доведем до оптимального (если это возможно).
И нам не писать много кода и Вам покажем парочку секретных кунг-фу (опять же, если это будет возможно). :)
Просто писать, по сути, одно и то же сразу нескольким людям незачем... ИМХО

Kolyaj 21.07.2008 21:17

Виталий, еще раз повторюсь: это интересно на интересных задачах, рисование таблички интересной задачей назвать трудно.

Виталий 22.07.2008 01:27

http://spb-nikitin.110mb.com/Calendar/Calendar.html

вот ссылка на примерный код, да я согласен, легче анализировать код написанный, чем тоже самое плодить.

Заранее спасибо, смотрите, коменируйте что понятно, что не понятно, что плохо сделано, что очень плохо :)


Часовой пояс GMT +3, время: 17:02.