Какие ресурсы лучше всего научить писать идиоматический C #?

Я ищу что-то вроде idiomatic ruby ​​ для программистов на C #

Должно:

  • быть для людей, которые уже умеют программировать

  • быть кратким

  • не быть основным

только что нашел лучшую ветку для этого вопроса в stackoverflow: c-coding-standard-best-практиками


person LDomagala    schedule 03.02.2009    source источник


Ответы (5)


Вы можете попробовать эффективный C # и Более эффективный C #, оба написаны Биллом Вагнером.

Я не читал ни одного из них должным образом (должен вернуться к тому, чтобы сделать это когда-нибудь), но я слышал хорошие отзывы.

Предполагая, что вы используете C # 3, я бы попытался убедиться, что вы знакомы с:

  • Обобщения и то, что можно сделать с помощью вывода типов для универсальных методов
  • IEnumerable<T> и блоки итератора
  • LINQ в целом и LINQ to Objects в частности (другие разновидности LINQ полезны в некоторых местах - LINQ to Objects полезен почти везде)
  • Делегаты, особенно лямбда-выражения и анонимные методы
  • Инициализаторы объектов и коллекций
  • Методы расширения - помните о них и учитывайте их для служебных методов. В частности, они удобны, если вы хотите добавить свои собственные операторы LINQ.
person Jon Skeet    schedule 03.02.2009
comment
Эти двое у меня на столе, и я начну с них, когда закончу твою книгу, Джон :) - person Gorpik; 06.02.2009
comment
Вы не должны быть скромными, чтобы упомянуть свою книгу. Я читаю это прямо сейчас, и это очень помогает :) - person LDomagala; 07.02.2009

Рекомендации по разработке фреймворка - это единственное, что я нашел

person LDomagala    schedule 03.02.2009

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

person Greg Beech    schedule 03.02.2009

есть программа от MSDN, которая проверяет ваши программы на "передовой опыт": FXCop

и вот руководство в MSDN, которое расскажет вам об условных обозначениях и идиомах: MSDN

о, наконец, вот еще одно руководство по MSDN: MSDN

person LDomagala    schedule 03.02.2009

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

person plinth    schedule 03.02.2009
comment
К сожалению, похоже, что он застрял на C # 2 - с C # 3 появились различные идиомы. - person Jon Skeet; 03.02.2009
comment
У тебя не может быть всего. Куда бы вы его положили? - person plinth; 03.02.2009
comment
Хотя это технически возможно, использование подчеркивания в идентификаторах C # не считается приемлемым. - person Greg Beech; 04.02.2009