Здравствуйте, мыщъх, Вы писали:
Ф>>Для этого нужно иметь специалиста именно в JS, знакомого с библиотеками.
М>для решения поставленной задачи никакого опыта в программировании вообще иметь не нужно! повторяю задачу еще раз: найти скрипты в html коде, которые заключены между тегами script. если для этой задачи нужно иметь опыт, то... я не знаю, я теряюсь.
Здесь я говорил не о конретной задаче, а об использовании библиотек. Соотвественно, чтобы использовать библиотеки их нужно знать, т.е. не первый день/неделю писать на этом языке.
Ф>>Из моего опыта:
Ф>>при переползании под .Net вдвоём написали террабайты кода,
М>когда вы это так ухитрились? я вот пишу свой проект уже год. 200 кб в исходниках. причем это мегапроект (по списку фич им поддерживаемых).
У нас после года работы было около метра, не считая автогенерированного кода (windows forms и датасеты). Такие объёмы из-за того, большая часть кода не слишком интеллектуальна (ввод, отображение в различных видах, хитрая и не слишком валидация, импорт, экспорт..). Очень много было написано на TSQL, например скрипт генерации базы больше 300 кб. Некоторые ХП больше 30 кб, возможно есть даже больше (отдельные ХП мною писались около недели), но сейчас лень искать и смотреть.
Ф>>потеряли кучу времени, наделали тучу ошибок, несколько раз _сильно_поменяли_архитектуру_ и оставили о себе отвратительное впечатление.
М>про архитектру. я щас такое раскажу. короче, есть у меня api. простое. там в основном sc_init(int flags) и sc_scan(,,,). флаги были введены чисто на всякий случай (и ведь еще хотел использовать указатель!), но таки заюзал int, потому как на первых порах был только один флаг — глубинное сканирование. а щас возникла необходимость чтобы этих флагов было много. и не только флагов, но и опций разных. а api менять нельзя. и добавлять новые функции нельзя. но! как-то выкручиваться надо же. и вот в sc_init появляется флаг, говорящий: в следующем вызове sc_scan применяет не сканируемый объект, а блок параметров. при этом апи сохраняется. старая логика не ломается, а новая — ну с новой это можно. для новой пишется обертка sc_init_ex, но это не апи, в смысле экспортируемые функции остались теже. и таких хаков у меня по коду... а все потому что далеко не всегда можно менять архиитектуру. хотя вот ща я таки буду ее радикально менять. но не сразу, а по частям
у нас отдельная история — из разрядка "как делать не надо", ежли её равёрнуто изложить — получится очередная война и мир.
но в кратце по архитектуре можно упомянуть одну заморочку: любая взятая группа данных внутри софтины в любой момент времени в софтине должна была быть валидна, т.е. в разных наборах данных внутри софтины никогда не должно было быть противоречивых данных, учитывая, что данных много, а редактировать их можно из разных мест разными способами обеспечить это было сложно. Я как то в очередной раз страдая о простудифилиса сидел и забавлялся: открывая тучу окон и рэндомно нажимая в них "ОК" медитировал на тему тормозности и неуклюжести нашей (?г0вн0?)софтины. С каскадами валидаций и обновлений нужно было что-то делать. Далеко не сразу сообразил что именно, и как именно.