Как я могу стать лучшим программистом на C #?[закрыто]

StackOverflow https://stackoverflow.com/questions/518609

  •  21-08-2019
  •  | 
  •  

Вопрос

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

Это было полезно?

Решение

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

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

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

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

Другие советы

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

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

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

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

F #, Scala, Haskell - есть из чего выбрать :)

Запустите ReSharper, включите все рекомендации и разберитесь в них.

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

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

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

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

Я не читал ее всю, но, похоже, это хорошее чтение.

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

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

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

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

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

рассматриваю вопросы и ответы по stackoverflow, теме c #.:-D

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

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

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

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

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

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

Может быть, создать следующий facebook или Google :)

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

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

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

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

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

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

Используя новый язык, попробуйте решить некоторые из Проект Эйлер проблемы.Улучшение математики и кодирование в в то же время!

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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top