Подтвердить что ты не робот

Как я могу стать лучшим программистом на С#?

Когда вы можете создавать классы и делать простые вещи (графический интерфейс, чтение текстовых файлов и т.д.), куда я могу перейти отсюда? Я начал читать Code Complete 2nd Edition, что отлично, но это скорее общая книга программирования. Какие темы следует изучать дальше?

4b9b3361

Ответ 1

Я бы сказал, что в какой-то момент это уже не о темах. Это о делать вещи. Вы должны написать код, вы должны написать много.

Люди часто расскажут вам о том, чтобы найти какую-нибудь нишу, чтобы попытаться решить ее при изучении нового языка, и это прекрасно, но если есть приложение или функция приложения, которое вам действительно нравится или действительно восхищается, попытайтесь его построить (или его частей). Более того, если вы обнаружите, что вам интересно, Эй, как [это приложение] делает , что?! Попробуйте его создать.

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

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

Ответ 2

Не соглашаться с людьми, которые говорят "писать материал", но одна тема, которую вы должны узнать о следующем, - это основные основы CLR - работы механизма, который находится за всеми этими библиотеками. Хорошим ресурсом для этого является Richter "CLR Via С#."

Ответ 3

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

Ответ 4

Я согласен с большинством ответов до сих пор, но я думаю, что если вы хотите совершенствоваться как разработчик, вы можете выиграть, не выполнив соло. Попытайтесь найти кого-то, кто может вас обучить. За эти годы я изо всех сил старался понять, объединившись с программистами, которые были умнее и опытнее, чем я. (Они все еще:-))

Ответ 5

Изучите другой язык и примените полученные знания к С#.

F #, Scala, Haskell - лоты для выбора:)

Ответ 6

Получить ReSharper, поддерживать все рекомендации и понимать их.

Ответ 7

Попробуйте прочитать исходный код Mono, чтобы посмотреть, как выглядит компилятор С#, написанный на С#. Вы узнаете так много о языке, компиляторах и компьютерной архитектуре. Это большое преимущество проекта с источником - вы можете узнать из него.

Ответ 8

Изучите лучшие практики и разработку программного обеспечения и как применить их к С#.

Изучите управление версиями, TDD, развитие, управляемое доменом, непрерывную интеграцию, MVC, MVP, несколько паттернов: фасад, factory, репозиторий против активной записи и т.д.

Изучите инструменты, которые помогут вам избежать повторного использования колеса: блок Application Validation, NHibernate и т.д.

Я нашел эту бесплатную электронную книгу у парней CodeBetter несколько дней назад: текст ссылки

Я не читал все это, но он выглядит хорошо прочитанным.

Ответ 9

Запишите код, много его. И не эти пушистые маленькие программы типа HelloWorld.

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

Ответ 10

посмотрите проекты с открытым исходным кодом, полностью поймите, что он делает и как это делается, особенно сложные библиотеки, такие как mocking frameworks, ORM и т.д.

Ответ 11

Посетите CodePlex.com и GitHub.com и искать проекты с открытым исходным кодом, в которые вы можете внести свой вклад.

Ответ 12

глядя на q/a of stackoverflow, С# topic.:-D

Ответ 13

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

Ответ 15

Напишите код самостоятельно и прочитайте код, который был написан, кем-то другим. Но не кто-то еще; человека, которого вы уверены, что он пишет хороший, чистый, умный код.

Ответ 16

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

Может быть, построить следующую facebook или google:)

Ответ 17

напишите хорошие модульные тесты и попытайтесь получить покрытие кода как можно выше

Ответ 18

  • Работа в команде с лучшими программистами - получите работу
  • Работайте с крупными проектами с открытым исходным кодом.

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

Ответ 19

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

Это не особенно связано с С#, но если вы хотите стать лучшим разработчиком, такие проекты (которые неявно включают в себя множество ((c) плохого) кодирования и тестирования и т.д. и т.д.), являются лучшими основаниями для обучения.

Если ни один из клиентов не хочет "дать вам шанс" работать над таким проектом с вашим текущим набором навыков, пока еще, идти вперед (или в любом случае) и начинать кодирование в проекте с открытым исходным кодом и поддерживать друзей, коллег и такие места, как stackoverflow.

Будьте готовы и открыты, чтобы совершать "ошибки" (как вы могли бы впоследствии их судить)... потому что только с огромными ошибками вы увидели тонкий/ветреный путь между ними.

Говоря об этом, научитесь не слишком усердно тренироваться или становиться перфекционистом слишком рано. Буги будут сделаны, ошибки могут даже остаться в конечном продукте с учетом определенных условий воздействия и т.д., Научиться жить с этим как инженер/разработчик.

Ответ 20

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

Ответ 21

С новым языком попробуйте решить некоторые проблемы Project Euler. Улучшение математического и кодирования в в то же время!

Ответ 22

CLR через С# отличная книга!! помогли (все еще помогают) мне много понимания языка, вы также можете скачать книгу спецификации языка С#