Создание современного полнофункционального клиента на основе js со стороны сервера?

Я работаю над внутрисетевым проектом, который использует javascript для клиентских побочных эффектов / виджетов, таких как дерево, сетка, перетаскивание. Мы думаем об использовании jquery / backbone плюс некоторый jquery ui.

Проблема в том, что с большой гибкостью jquery / backbone наши малоопытные разработчики почти наверняка сделают код MESSY. И я это ненавижу.

Чтобы уменьшить вероятность того, что они могут запутать код, я собираюсь создать серверную программу для анализа xml (этот разработчик будет писать xml вместо javascript, когда это возможно) и генерировать javascript во время выполнения. Сделав это, я могу наложить ограничение на xml. И xml имеет тенденцию быть менее беспорядочным.

Но прежде чем перейти к этому, я хочу спросить, существует ли какая-нибудь похожая существующая структура? Желательно, чтобы сгенерированный javascript также использовал шаблон модель / представление / контроллер.

Или что еще я могу сделать, чтобы проект не был беспорядочным?

ps: Я хочу обучить разработчика. Но это долгая работа. Не очень полезно для текущего проекта.

Спасибо, ребята / девочки.


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


person GaryX    schedule 15.05.2013    source источник
comment
Независимо от того, какой фреймворк вы напишете, будет кошмаром поддерживать и / или использовать. Если вы нанимаете веб-разработчиков и не позволяете им заниматься веб-разработкой, вам, возможно, придется пересмотреть то, как вы это делаете. Никто не хочет писать XML, и вы почти наверняка сделаете это труднее.   -  person Deadron    schedule 15.05.2013
comment
Я бы рассматривал extjs как js-фреймворк, который не склонен к беспорядку, вместо генерации вашего кода на основе xml.   -  person Amit Aviv    schedule 15.05.2013
comment
Это звучит как абсолютно ужасная идея. Выражение логики и потока управления в XML было бы чрезвычайно многословным.   -  person Pointy    schedule 15.05.2013
comment
Я согласен с вами, ребята. Но, к сожалению, 1) для @Deadron они являются java-разработчиками, а не веб-разработчиками, и поэтому js-код беспорядочный.   -  person GaryX    schedule 15.05.2013
comment
2) на @Amit: раньше мы использовали extjs, но многие конфигурации создания обработчиков / ajax.request / панели заключены в бесконечные фигурные скобки (я виню в этом низкий опыт работы с js моих разработчиков)   -  person GaryX    schedule 15.05.2013
comment
Если у вас есть разработчики, которые не могут писать JS в соответствии с тем стандартом, который вам нужен, тогда представьте обзоры кода и обучение и поднимите их навыки JS до уровня, на котором они могут.   -  person Quentin    schedule 15.05.2013
comment
Вы можете попробовать gwt, он сгенерирует js и html на стороне клиента из java-кода на стороне сервера.   -  person Aldarund    schedule 15.05.2013
comment
ну, @Aldarund меня опередил. Google Web Toolkit - это чудовище для вас. Вы пишете java, и выходит JavaScript. Звучит идеально, ИМХО.   -  person Andrew Grothe    schedule 15.05.2013


Ответы (1)


Мне нравится ваша цель, но я думаю, что попытка обеспечить соблюдение стандартов кодирования программным способом - это чрезмерное решение проблемы. Следующие шаги помогут направить вас в правильном направлении:

  1. Используйте систему контроля версий, такую ​​как SVN или Git. Это не только позволяет вам точно определить, кто испортил ваш код, и обучить их, но и дает вам возможность откатить изменения, которые полностью нарушают ваш проект. Это не следует рассматривать как механизм «обвинения», но это, безусловно, надежный способ идентифицировать виновника. Вы также можете обнаружить, что ваши разработчики с меньшей вероятностью сделают код, который не соответствует требованиям, после того, как они поймут, что их работа открыта для такой проверки.
  2. Документация - и я не обязательно имею в виду наличие 300-страничной вики о том, как организован ваш проект и как должны быть написаны функции. Но даже такая простая вещь, как комментирование каждой функции, часто побуждает других делать то же самое. Важно то, что разработчик видит стандарт работы, которую он должен выполнять в вашей работе. Разработчики, обладающие потенциалом, обратят на вас внимание.
  3. Парное программирование - возьмите за привычку сидеть со своими разработчиками, пока они пишут. Не в 100% случаев, но достаточно часто, чтобы вы осознавали их сильные и слабые стороны. Обучайте их так, как вы хотите, чтобы они программировали.
  4. Если все остальное не помогает, прибегните к инструментам, которые помогают разработчикам в соблюдении их стандартов, например к подключаемому модулю Resharper для Visual. Студия. Хотя это в первую очередь предназначено для использования C #, оно также предоставляет подсказки по коду и т. Д. Для Javascript, которые помогут неопытным разработчикам принять набор методов, которые должны улучшить читаемость их кода.

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

person Maloric    schedule 15.05.2013