Стандарты компании: C # .NET против VB. - PullRequest
4 голосов
/ 02 июня 2009

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

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

Итак, я думаю, что «субъективная» часть вопроса заключается в том, лучше ли жертвовать производительностью ради согласованности? Теперь я должен дать количественную оценку, сказав, что мы были МАЛЕНЬКИМ магазином, в котором было менее 5 разработчиков, и учитывая, что большинство планов наших проектов были выполнены на коктейльных салфетках, это не то, что мы собирались в ближайшее время для 6-Sigma, поэтому это не было похоже на «стандарты» были жестким и быстрым правилом.

Спасибо.

Ответы [ 11 ]

0 голосов
/ 02 июня 2009

Важно придерживаться единственного выбора языка, если это возможно. Очевидно, что если вы пишете неуправляемый C ++ или у вас есть какой-то другой подобный сценарий, будут заметные исключения. После того, как вы расширили свои возможности, многие люди осознали эффективность однородного выбора языка. Большинство известных мне разработчиков столкнутся с проблемой эффективности при переключении языков, даже если они знают это изнутри и снаружи. После нескольких месяцев написания кода на C #, если мне нужно вернуться в VB.NET, чтобы что-то поддерживать, наступил хороший день, когда я должен сознательно подумать о вещах, которые обычно бывают автоматически. Это простые вещи, такие как использование против импорта, преобразование типов и т. Д. Дело не в том, что вы забыли, как это работает, а в том, что ваш разум хочет сделать что-то, как вы это делали в течение длительного периода времени. Очень похоже на старый трюк в салоне: выложить руки на дверную коробку на минуту и ​​затем положить их на бок. Они хотят вернуться, потому что это сигнал, который ваш мозг привык посылать.

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

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

...