Как разработать стандарт (C# по сравнению с VB.NET)

Извините, неправильно понятый Ваш вопрос.

Согласно JavaScript - получающий onsubmit при вызове form.submit () :

меня недавно спросили: "Почему form.onsubmit событие не становится запущенным, когда я отправляю свою форму с помощью JavaScript?"

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

(добавленный акцент).

Примечание: "активированный пользователем" также включает совершающие нападки кнопки отправки (вероятно, включая значение по умолчанию, отправляют поведение от клавиши Enter, но я не попробовал это). Ни, я верю, делает это инициировано (с кодом) при нажатии на кнопку отправки.

8
задан csharptest.net 5 October 2009 в 21:21
поделиться

12 ответов

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

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

В противном случае предпочтите C # (он, как правило, более популярен, и с точки зрения функций они не настолько различаются, чтобы сделать осмысленный выбор по сравнению с одними только функциями).

9
ответ дан 5 December 2019 в 04:31
поделиться

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

Для разработчиков VB:

  • Запретить старые функции в стиле vb6 в новом коде. Я говорю о строковых и других функциях (Len, InStr, Replace, UBound и т. Д.). Операторы преобразования (CInt, Cstr и т. Д.) Все еще в порядке, потому что они являются операторами языка, но предпочитают функцию Convert.To ___ () , где это возможно, для простого преобразования в C # и обратно.
  • Require ] Option Strict и Option Explicit . Вы откажетесь от некоторой крутизны динамической типизации, сделав ее требованием, а не сильным предложением, но стоит сохранить паритет кода с C #.
  • + 'vs' & 'для конкатенации строк (если вы еще не используете StringBuilder)
  • Предпочитайте AndAlso и OrElse перед And и ] Или

Для разработчиков C #:

  • Запрещать имена, которые отличаются только регистром. Это особенно касается имен, которые в основном совпадают с именем типа ( SomeType sometype = ... ). Скажите им использовать вместо этого префикс _ (а не "m_"). Вы все равно должны это сделать, но это особенно важно в смешанном магазине, потому что с этим кодом будет труднее работать в VB.

Для обоих:

  • Запретить списки массивов и другие неуниверсальные коллекции (потому что они не только злые в любом случае , но VB и C # обрабатывают все требуемые преобразования по-разному, даже с опцией strict, благодаря CType)

Если вы это сделаете,

15
ответ дан 5 December 2019 в 04:31
поделиться

Вопрос, который вы задаете, на самом деле очень важен, и слишком многие люди скажут вам, что выбор языка - это просто личное предпочтение. Но вы уже знаете, что с точки зрения организации это не так. Выбор стандартного набора фреймворков, языков, инструментов и т. Д. Является важным бизнес-решением.

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

Поэтому я советую выбирать язык вашей организации, исходя из коммерческих соображений. Если проще нанимать специалистов по C # или если вы обнаружите, что у них, как правило, более высокий набор навыков для той работы, которую вы выполняете, то наберите один балл для C #. Если вы пишете код для клиентов, и эти клиенты предпочитают продукты C #, а затем получают еще один результат за C #. Если у вас есть существующий код на VB, поставьте один балл для VB.

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

5
ответ дан 5 December 2019 в 04:31
поделиться

На предыдущем клиенте , которые написали свои критически важные приложения на VB, им стало труднее найти программистов на VB, чем на C #.

Поэтому они решили начать переключать свои приложения на C #.

Как и в случае с большинством IT / Dev вопросы, ответ зависит от обстоятельств. Если в вашем отделе больше людей, которые отлично разбираются в VB, выбирайте VB. Не думаю, что один из них намного лучше другого.

8
ответ дан 5 December 2019 в 04:31
поделиться

Если есть единственная причина использовать C # для вашей компании, то это лямбда-оператор. Без полной поддержки лямбда-оператора в VB.NET некоторые из лучших инструментов становятся либо поврежденными, либо DOA. Например: Fluent NHibernate, StructureMap и т. Д.

5
ответ дан 5 December 2019 в 04:31
поделиться

Несколько лет назад мы стандартизировали C #, потому что у C #, похоже, больше поклонников среди серьезных разработчиков.

Позвольте мне пояснить, что я не говорю ничего плохого о VB.NET или тех, кто его использует.

4
ответ дан 5 December 2019 в 04:31
поделиться

Это полностью зависит от вашего пула разработчиков.

3
ответ дан 5 December 2019 в 04:31
поделиться
  1. Поговорите с местными рекрутерами, узнайте, какие наборы навыков доступны в вашем районе, если вам нужно нанять больше разработчиков. То, что доступно, должно повлиять на ваш выбор.
  2. Убедитесь, что ваши разработчики могут работать с вашей текущей кодовой базой, независимо от того, на каком языке.
  3. Спросите своих разработчиков, что они предпочитают, поскольку они могут основывать свое решение остаться в компании на низком уровне. дорога по технике.
  4. Обратите внимание на поддержку этих языков в вашей отрасли. Например, юридической фирме может потребоваться большая интеграция MS Office и VBA. Использование VB.NET может иметь преимущества для перекрестного обучения. Или вы можете работать в отрасли, в которой используется множество инструментов на основе C ++, C или Java. Для этих программистов использование C # может быть более естественным.
  5. Посмотрите, какие учебные ресурсы у вас есть на этих языках. Если вы можете получить больше или дешевле обучение одному конкретному языку, вы можете отдать ему предпочтение.
  6. Начните думать о своем плане перехода на другой язык в будущем. Даже если вы стандартизируете сегодня, что будет через 5 лет? Или 10? Языки меняются, нужно изменить.
3
ответ дан 5 December 2019 в 04:31
поделиться

Чисто с точки зрения возможностей они настолько близки, насколько это возможно для двух языков. VB.NET имеет тенденцию к большей интерактивности COM и имеет буквальный XML - но C # скоро получит часть этого.

На самом деле это просто личные предпочтения и то, на каком языке, по вашему мнению, команда может быть наиболее продуктивной.

2
ответ дан 5 December 2019 в 04:31
поделиться

Похоже, у вас уже есть стандарт - VB.NET. И, возможно, вы испытываете соблазн или заинтересованы в том, чтобы вместо этого перейти на C #.

Не имеет смысла писать половину ваших систем на VB, а половину на C # - хотя в зависимости от характера вашей организации это может не применяться. Но в целом организация не должна относиться к этим изменениям легкомысленно.

Если бы я был вами (и вы заинтересованы в переходе на C # для себя), то я бы настаивал на C #, но если бы я был бизнесом, мне бы понадобился очень хорошая причина для введения этой новой проблемы сложности, затрат и управления.

1
ответ дан 5 December 2019 в 04:31
поделиться

Недавно у нас была такая же проблема. На самом деле мы просто кодируем и то, и другое, в зависимости от того, в чем был запущен исходный проект. На удивление легко переключаться туда и обратно, особенно с Visual Studio (он всегда «напоминает» мне, когда я начинаю набирать «bool myvar ...», что я я делаю что-то не так, если я использую файл .vb).

Наш приоритет выглядит следующим образом:

  • Используйте существующий язык, если у нас уже есть код для этого проекта / клиента
  • Используйте язык, на котором заказчик предпочитает, если им не все равно
  • В противном случае используйте C # (это только потому, что на C # есть гораздо больше примеров, когда вы ' повторяется попытка найти фрагмент кода, чтобы быстро решить проблему)
1
ответ дан 5 December 2019 в 04:31
поделиться

Руководящим фактором должно быть наличие веских причин для перехода от одного стандарта к другому. Используйте это:

  1. VB.NET кажется намного более подробным, чем C #. (например: « Dim var as MyClass» против «MyClass var»)
  2. C # похож на C ++ и Java. VB.NET похож на ... ну, ничего. (если вы не считаете VB6 ...)
  3. Попробуйте создать рваный массив в VB.NET. Смею вас.
-1
ответ дан 5 December 2019 в 04:31
поделиться
Другие вопросы по тегам:

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