Почему и Когда использовать LINQ? [закрытый]

Большая часть кода моей библиотеки C может быть скомпилирована с -DTEST, чтобы раскрыть main() (и часто некоторые вспомогательные функции тоже) в исходном файле с реализацией. Поэтому, если у меня есть набор функций, объявленных в source.h и определенных в source.c, то source.c может выглядеть следующим образом:

#include "source.h"
#include …other headers…

…code defining functions declared in source.h

#ifdef TEST

#include <stdio.h>

int main(void)
{
    …test code…
}

#endif /* TEST */

Это работает, когда набор тестов достаточно мал, чтобы поместиться в исходный файл. Если тесты становятся больше, чем код, тогда я создаю один или несколько отдельных исходных файлов, содержащих тестовый код. Каждый из этих файлов может иметь свои собственные main(), или они могут быть спроектированы так, чтобы быть связанными вместе - в зависимости от того, что кажется более удобным.

Что уместно, зависит от размера и сложности тестов. Некоторые функции заканчиваются фиксированными - жесткими - тестами; некоторые тратят время на чтение данных со стандартного ввода; другие обрабатывают списки аргументов, если они предоставляются, и используют минимальный тест, если аргументов нет. Тестовый код может использовать инфраструктуру модульного тестирования или может быть более или менее специальным, опять же, в зависимости от сложности (и древности) кода.

13
задан Gishu 4 December 2008 в 05:38
поделиться

4 ответа

Просто для уточнения существуют различия между понятием LINQ и LINQ к SQL.

LINQ является синтаксисом запроса, не языком или O/RM. Можно создать O/RM сверху синтаксиса, обеспеченного LINQ.

Так как я заключаю, что Ваш вопрос состоит действительно в том, Когда использовать LINQ для SQL, я просто обращусь к этому.

LINQ к SQL лучше всего используется, когда Вы:

  • Только когда-либо предназначаясь для MS SQL 2000 +
  • Выполнение RAD

Я привык LINQ для SQL на нескольких коммерческих продуктах и довольно многих моих собственных продуктах и нашел эти преимущества:

  • Знакомый язык для кодирования в (C#/VB.NET)
  • Легче поддержать (у нас есть больше.NET, чем штатные гуру SQL),
  • Сгенерированный SQL хорошо структурирован и очень оптимален
  • Позволяет прямой перевод бизнес-правил к SQL, все еще сохраняя всю бизнес-логику в единственном проекте

Что касается LINQ как понятие я использую все это время, потому что я понимаю то, что это может/может, делают и как использовать его правильно. Как любая функция языка это может использоваться мисс легко, если у людей нет понимания того, что это и как использовать его. Я рекомендую следующим блогам снизить часть понятия LINQ:

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

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

Все о Linq

Новички ведут в Linq

Каков самый трудный или самый недооцененный аспект Linq

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

LINQ является некоторым универсальным языком запросов. Если Вы изучаете это, Вы не должны ограничивать себя базой данных, но можно также использовать его для управления XML-файлами, или файлами JSON или массивами, Списки <> и dictionairies <>. Это является большим.

Существует даже LinqToFlickr, LinqToExcel и LinqToGoogle. Это намного больше, чем ИЛИ картопостроитель. См.: http://blogs.msdn.com/charlie/archive/2008/02/28/link-to-everything-a-list-of-linq-providers.aspx

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

LINQ-SQL функционирует хорошо как легкий ORM через разработчика DMBL. Это имеет встроенную поддержку языка и делает довольно легким получить доступ к Вашим объектам с помощью стандартных схем доступа. Я использую его во всех моих новых проектах и нахожу, что это - существенное улучшение для меня в простоте и тестируемости. Существует намного больше информации в этом сообщении.

0
ответ дан 2 December 2019 в 00:04
поделиться
Другие вопросы по тегам:

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