Вопросы с тегом «c#»

267
#Regions - это антипаттерн или запах кода?

C # позволяет использовать ключевые слова #region/, #endregionчтобы сделать области кода разборными в редакторе. Всякий раз, когда я делаю это, я делаю это, чтобы скрыть большие куски кода, которые, вероятно, могут быть преобразованы в другие классы или методы. Например, я видел методы, которые...

220
Почему многие сообщения об исключениях не содержат полезных деталей?

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

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

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

150
SOLID Принципы и структура кода

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

148
Как вы организовываете свои проекты? [закрыто]

У вас есть особый стиль организации проектов? Например, в настоящее время я создаю проект для пары школ здесь, в Боливии, вот как я его организовал: TutoMentor (Solution) TutoMentor.UI (Winforms project) TutoMentor.Data (Class library project) Как именно вы организуете свой проект? У вас есть...

143
Связь между C #, .NET, ASP, ASP.NET и т. Д. [Закрыто]

Мне действительно неясно, в чем разница между C #, C # .NET и тем же для ASP и других языков .NET. Насколько я понимаю, .NET - это библиотека / фреймворк ... вещей. Я думаю, что они, по сути, имеют доступ к данным Windows, таким как элементы формы и т. Д., Но, похоже, это не относится к ASP.NET....

114
Должен ли я добавить избыточный код сейчас, на случай, если он понадобится в будущем?

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

110
Преимущества структурированного ведения журнала по сравнению с базовым ведением журнала

Мы создаем новое приложение, и я хотел бы включить структурированное ведение журнала. Моя идеальная установка - что-то вроде Serilogнашего кода на C # и Bunyanнашего JS. Они подействуют, fluentdа затем могут выйти на любое количество вещей, я думал вначале elasticsearch + kibana. У нас уже есть...

109
Не использовать «статический» в C #?

Я отправил заявку, которую написал другим архитекторам, для проверки кода. Один из них почти сразу же ответил мне и сказал: «Не используйте« статические ». Вы не можете писать автоматические тесты со статическими классами и методами.« Статических »следует избегать». Я проверил и полностью четверть...

103
Разве принципы асинхронного / ожидающего использования в C # не противоречат понятиям хорошей архитектуры и многоуровневой абстракции?

Этот вопрос касается языка C #, но я ожидаю, что он охватит другие языки, такие как Java или TypeScript. Microsoft рекомендует лучшие практики по использованию асинхронных вызовов в .NET. Среди этих рекомендаций давайте выберем две: измените сигнатуру асинхронных методов, чтобы они возвращали Task...

102
В какой момент краткость перестает быть добродетелью?

Недавнее исправление ошибки требовало от меня просмотра кода, написанного другими членами команды, где я нашел это (это C #): return (decimal)CostIn > 0 && CostOut > 0 ? (((decimal)CostOut - (decimal)CostIn) / (decimal)CostOut) * 100 : 0; Теперь, если есть веская причина для всех этих...

101
Создание соединений с базой данных - сделать это один раз или для каждого запроса?

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

91
Является ли современный C ++ заменой C #? Microsoft подталкивает разработчиков к внедрению C ++? [закрыто]

Я слышал о современной популярности C ++ и некоторых разговорах о переходе на C ++ с C # или других C-подобных языков. Я знаю о возможностях C ++ 11, но мне бы хотелось услышать ваш опыт, особенно от разработчиков, которые перешли с C # на C ++. Что еще более важно, подталкивает ли Microsoft...

89
Нужно ли юным умам изучать концепции указателей?

Почему мастер Си Деннис Ричи ввел указатели в Си? И почему другие языки программирования, такие как VB.NET, Java или C #, устранили их? Я нашел несколько пунктов в Google, и я тоже хочу выслушать ваши комментарии. Почему они исключают концепции указателей в современных языках? Люди говорят, что C...

86
за против foreach против LINQ

Когда я пишу код в Visual Studio, ReSharper (да благословит его Бог!) Часто предлагает мне сменить цикл старой школы for на более компактную форму foreach. И часто, когда я принимаю это изменение, ReSharper делает шаг вперед и предлагает мне изменить его снова, в блестящей форме LINQ. Итак, мне...

85
Является ли статика универсальным «злом» для модульного тестирования, и если да, то почему Resharper рекомендует его? [закрыто]

Я обнаружил, что существует только 3 способа статических зависимостей модульного тестирования (макет / заглушка) в C # .NET: Кроты TypeMock JustMock Учитывая, что два из них не бесплатны, а один не выпущен в версии 1.0, издеваться над статичными вещами не так уж и легко. Имеет ли это статические...

84
Богатые доменные модели - как именно вписывается поведение?

В дебатах моделей предметной области Rich против Anemic Интернет полон философских советов, но не хватает авторитетных примеров. Цель этого вопроса - найти четкие рекомендации и конкретные примеры правильных моделей проектирования на основе доменов. (В идеале в C #.) Для реального примера эта...

83
Вернуть магическое значение, выбросить исключение или вернуть ложь при неудаче?

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

82
Разработчики Java сознательно отказались от RAII?

Как давний программист на C #, я недавно узнал больше о преимуществах Resource Acquisition Is Initialization (RAII). В частности, я обнаружил, что идиома C #: using (var dbConn = new DbConnection(connStr)) { // do stuff with dbConn } имеет эквивалент C ++: { DbConnection dbConn(connStr); // do...