Как остаться DRY, когда логике нужна реализация C# и JavaScript?

сделайте копию этого листа: https://docs.google.com/spreadsheets/d/

то, что вы просите, выполнено скрипт, который запускается всякий раз, когда вы вводите что-либо в столбец B

0


  • иди на 118]
  • выберите Редактор сценариев

    0

  • копировать вставить это скрипт:


function onEdit(event) { 
  var sheet = event.source.getActiveSheet();

  // note: actRng = the cell being updated
  var actRng = event.source.getActiveRange();
  var index = actRng.getRowIndex();
  var cindex = actRng.getColumnIndex();

  if (cindex == 2) { // 1 == Column A, 2 == Column B, 3 == Column C, etc.
   var dateCol = sheet.getLastColumn();  
   var lastCell = sheet.getRange(index,dateCol);
   var date = Utilities.formatDate(new Date(), "EST", "MMM-dd-yyyy");
   lastCell.setValue("'" + date);
  }
}
  • сохранить проект под некоторым именем

  • вернуться на свой лист (вы можете закрыть окно / вкладку скрипта)

5
задан Matthew Bonig 25 February 2009 в 16:48
поделиться

3 ответа

Наличием логики в течение в общей сложности времени и в C# и в JavaScript не является DRY в самом строгом смысле, который верен. Можно было бы крохоборствовать по тому, что они - два различных языка, работающие в двух отдельных средах, но в конце дня при изменении того, необходимо изменить обоих.

Я думаю, что это - компромисс между формой и функцией. Как важный это должно иметь JavaScript? Если вызов Ajax является просто слишком медленным (реальная возможность) затем, это может быть временем, чтобы понять, что принцип DRY является руководящим принципом, не законом.

1
ответ дан 15 December 2019 в 01:12
поделиться

Вы могли попробовать проект Nikhil Kothari Script#. Это - кросс-компилятор, который компилирует и переводит от C# до браузера независимый JavaScript, который позволяет Вам совместно использовать логику. Ее используемый многими группами в Microsoft для точно той цели.

Больше, с веб-сайта:

Script# приносит производительность к разработке JavaScript и Ajax. Script# является бесплатным инструментом, который включает разработчиков автору исходный код C#, и впоследствии скомпилируйте его в обычный сценарий, который работает через все современные браузеры, и при этом, усильте производительность и питание существующих инструментов.NET, а также Visual Studio IDE. Script# уполномочивает Вас методологией разработки, и приблизьтесь, который приносит разработку программного обеспечения, долгосрочную пригодность для обслуживания и масштабируемые подходы к разработке для Ваших приложений Ajax, компонентов и платформ.

Script# используется экстенсивно разработчиками в Microsoft, создающей события Ajax в Windows Live, Office для именования просто пары, а также внешние разработчики и компании включая Facebook. Если Вы создаете основанные на Ajax приложения RIA, Вы должны его себе, чтобы попробовать Script# сегодня и видеть, может ли это помочь улучшить Вашу собственную разработку Ajax!

3
ответ дан 15 December 2019 в 01:12
поделиться

Если Вы хотите, чтобы код выполнился на обоих, Вашем сервере и клиенте, Вы могли использовать/писать дерево выражений для компилятора JavaScript.

На серверной стороне Вы оцениваете выражение и отправляете то же выражение, переведенное в JavaScript клиенту.

0
ответ дан 15 December 2019 в 01:12
поделиться
Другие вопросы по тегам:

Похожие вопросы: