С# Обучение для начинающего: сделать проект, не прочитав больших концепций

После 3 лет работы в качестве специалиста по технической поддержке я решил сменить поле и перейти к программированию.

Я изучаю С# через книгу Wrox Beginning Visual С# 2008, которую я использую в качестве ориентира.

Я прочитал всю часть POO (наследование, Полиморфизм,.... делегаты,...). Я начал вторую часть, которая является Windows Programming (Winforms)

Я знаю, что многие из вас рекомендуют делать некоторые рабочие приложения, чтобы практиковать, но как я могу сделать некоторые персональные проекты, если я даже не начал такие понятия, как SQL Server, LINQ или сетевое программирование, WPF, WCF. Эти темы перечислены в конце книги.

Я просто пытаюсь найти лучший метод: должен ли я сначала закончить эту книгу, а затем начать код, или просто выполнить проект, не прочитав горячие темы или не перейдя прямо к этим темам.

Я не знаю, понимаете ли вы, что я имею в виду, поскольку английский не мой первый язык. Но если вы этого не сделаете, я могу улучшить свое объяснение.

Ответы

Ответ 1

Основная проблема в вашей ситуации заключается в том, что вы, скорее всего, скопировали примеры, найденные в книге. Этого недостаточно.

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

Не устанавливайте панель слишком высоко или вы будете разочарованы. Будет простое приложение. Начните с формы окна и кнопки. Измените свойства формы самостоятельно. Поиск и поиск с использованием графического интерфейса (Visual Studio).

как только вы почувствуете себя достаточно комфортно, напишите код для вашего первого события. Вам не нужно что-то фантастическое; a MessageBox.Show() идеально подходит для этого. Когда вы закончите работу с событием нажатия кнопки, изучите другие события и/или объекты.

Все, что вы делаете, пока не попадает в алгоритмы и другие компоненты. Продвигайтесь медленно и только тогда, когда вам комфортно.

Запрашивать, открывать, google, экспериментировать, продвигаться вперед.

Удачи и приветствуем.

Ответ 2

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

Когда вы поехали в автошколу, вы только что прочитали о вождении?;)

Edit

Более сложный ответ. Книги великолепны, если вы можете читать их прямо и помнить все. Но чаще всего вы не можете. Кто-то еще предложил начать с проекта, и это отличный способ.

Но ВСЕГДА останавливаются каждые полчаса или около того и снова читают ваш код. И будьте непослушны. Окунитесь в себя, если ваш код выглядит как нечто, разработанное моей 85-летней бабушкой.

Beautiful code is very important.

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

И это лучший способ узнать.

Ответ 3

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

  • Калькулятор: начните с четырех основных операций и когда все будет работать, добавьте еще несколько функций и графиков.

Когда вы немного узнаете о базах данных:

  • Механизм блога: из базы данных создается HTML файл. Создайте интерфейсы для добавления нового сообщения в базу данных. Это не обязательно должно быть веб-приложение: вы можете создать приложение WinForms, которое будет генерировать набор файлов HTML.

Когда вы немного узнаете о сети:

  • Клиент IRC. Протокол прост для реализации и может быть забавным для написания собственного клиента.

И после этого начните свои собственные личные проекты. Это должно помочь вам лучше учиться.

Ответ 4

Я не думаю, что вы должны предположить, что вам нужен проект, требующий linq или SQL или создание сетей или WPF... Если вы новичок, вы получите достаточно простое написание калькулятора или простое, адресную книгу памяти или палач или что-то в этой области.

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

Ответ 5

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

Начните с того, что бросаете элементы управления в форму и заставляете их взаимодействовать, затем переходите к файлу IO, возможно, читаете текст или изображение из файла и помещаете данные в один из элементов управления. Затем измените данные и сохраните их снова. Идите небольшими шагами и расширьте свой код. Знания придут быстро.

Ответ 6

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

Хорошая книга для чтения о том, что это Code Complete 2, эта книга охватывает все, что вам может понадобиться (начиная с этапа запуска проекта до отладки и т.д.). Эта книга также рекомендуется для чтения опытными разработчиками. Я прочитал эту книгу через пару лет развития, и я многому научился (он также сказал некоторые очевидные вещи, которые я уже знал, но это не имело значения).

Ответ 7

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

Ответ 8

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

Вы получаете хорошее количество статей: CodeProject

Ответ 9

Вы можете читать проекты с открытым исходным кодом, а не книги.

Ответ 10

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

Если вы не решаетесь начать свой проект, по крайней мере, попробуйте образцы, указанные в книге.

Это похоже на то, как мы соприкасаемся с вещами, которые только что записаны в книге.

Кстати: ваш английский хорошо, но я тоже не носитель языка.

Ответ 11

Если вы можете инвестировать около $200, перейдите в LearnVisualStudio.net

Ваши инвестиции окупится FAST!. Я лучше узнаю от видео (так как вы доберетесь, чтобы это произошло). Книги хороши, если вы хотите войти в понятия. Кроме того, вы можете искать на YouTube короткие справочные пособия.

Удачи!

Ответ 12

Во-первых:

Сначала я предложил бы сделать некоторые упражнения:

http://projecteuler.net/index.php?section=problems&page=1

Очень полезно иметь некоторые "умные" навыки в программировании. Проведите 2-3 недели на этих проблемах, чтобы понять основы.

Вы встретите много проектов, где необходимо "подумать о проблеме" и проанализировать их глубоко, а не перетащить элемент управления в форму. И некоторые из этих проблем откроют ваш разум.

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

Третье: Пойдите дальше с материалами для программирования на веб-сайте или на рабочем столе и создайте сложное приложение. (для практики linq, sql-сервера и т.д.)

Счастливое кодирование.

Ответ 13

Лично я бы рекомендовал книгу Microsoft Visual С# 2010 Step by Step от John Sharp. Также как и обсуждение того, как программировать в абстрактных терминах, есть также примеры и действия, которые вы можете "кодировать вместе" с книгой.

Это третье издание книги; есть версия для 2008 (.NET 3.5) и 2003, если вы хотите вернуться к предыдущим версиям С# и среды выполнения .NET. Однако каждая книга охватывает основы, поэтому вы можете выбрать любой из них и начать работу.

Ответ 14

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

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

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

Изменить: В качестве примера: я знаю людей, которые по-прежнему злоупотребляют объектно-ориентированными концепциями после трех лет обучения компьютерной науке и нескольких лет практики. Это основы, а не специальные технологии, такие как WCF, WPF и т.д. Это долгий путь. Не делайте это пешком.

Ответ 16

Почему вы прыгаете в глубокий конец?

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

Нам еще нужно изучить определенные вещи в определенном порядке.

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

Точно так же вы должны продвигать свои концептуальные идеи в направлении просвещения программирования.

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

Ответ 17

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

Начните с этого: http://en.wikipedia.org/wiki/Binary_tree

По-моему, это лучшее упражнение для укрепления хороших концепций ОО, прежде чем перейти к шаблонам проектирования ( "Банда четырех" ). Скоро вы увидите шаблоны, которые реализуются всеми технологиями и платформами. Кроме того, если вы изучите структуры данных и связанные с ними algos, тогда вы будете хороши примерно для 40% CS GRE: D

После этого я бы взял предложение Vitor Py и сделал несколько простых проектов для себя с четкой целью в каждом случае и закончить их. И, наконец, посмотрите на многие широко используемые проекты с открытым исходным кодом. Вы заметите, какие наилучшие соглашения об именах, стили отступа, комментарии и общие правила кодирования, с которыми команды, как правило, работают лучше.

Надеюсь, это поможет!

Ответ 18

Вы можете использовать то, что вы уже изучили, с простым проектом, который взаимодействует с пользователем и выполняет расчет. Таким образом вам не придется использовать базу данных. В университете мы никогда не использовали БД в любом курсе, кроме одного на SQL. Мне трудно понять, потому что в реальном рабочем мире почти каждое приложение имеет базу данных. Попытайтесь сделать простые приложения, например, я только что сделал для своей жены, которым нужно было ввести сумму, а затем для нее были рассчитаны налоги. Кроме того, если вы можете читать французский язык, вот лучший лабораторный учебник, который я когда-либо видел. Он начинается с малого с консольным выходом и заканчивается полным веб-приложением с 3-уровневым слоем. текст ссылки

Ответ 19

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

Также проверьте http://msdn.microsoft.com/en-us/default.aspx прямо вверху, они просто добавляют несколько видео (щелкните значок рабочего стола вверху), которые действительно хорошо. Вы можете искать там, чтобы найти много информации, а также, если вы прокрутите страницу вниз и нажмите "Обучающий центр для начинающих разработчиков", там также есть много отличных видеороликов.

Что-то еще, что вы можете проверить, - это статья в http://hackermonthly.com/hackermonthly-issue1-revised.pdf под названием" 2 шага к тому, чтобы стать великим Разработчик ".

О, и это не С#, а С++, но это поможет вам понять основные понятия объектно-ориентированного программирования. http://www.youtube.com/user/antirtfm?blend=1&ob=4 Эти видеоролики великолепны, и парень, который заставлял их вкладывать в них много времени.

Ответ 20

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

Если вы сильны в основных принципах, то вы можете легко переварить расширенные понятия, такие как WCF, WPF и т.д.

SO FIRST начните практиковать Основы... с приведенными примерами, из которых вы узнаете больше о Visual Studio Tool, Синтаксисах С#, Общих ошибках, о том, как устранить возникшие проблемы.

Ответ 21

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

Если в вашей текущей роли есть возможность автоматизировать некоторые ежедневные задачи, написав несколько небольших приложений/скриптов/VBA + Access (oh the horror), затем перейдите к нему. Затем я попытался бы попасть в команду в качестве младшего программиста, где вы можете быть наставником и научиться программировать код корпоративного качества и узнавать обо всех "других" вещах, которые сочетаются с такими программами, как проектирование, тестирование, развертывание, сборка, отгрузка, отладка и т.д. Затем, через пару лет, вы можете перейти на должность разработчика программного обеспечения/программиста. На протяжении всего путешествия все предлагаемые книги и видео помогут вам и улучшат ваши навыки, улучшившись на этом пути.

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

Ответ 22

Когда я изучаю новый язык, я всегда делаю некоторые проблемы в http://projecteuler.net/[Project Euler] [1], это помогает сделать убедитесь, что вы понимаете основную логику языка, и поскольку вы можете решить их с помощью консольных приложений, вам не нужно беспокоиться о пользовательском интерфейсе

Ответ 23

Напишите простой калькулятор с WinForms. Здесь много учиться.

Ответ 24

Я предлагаю вам начать чтение CLR через С# - Jeffrey Richter. Бьюсь об заклад, нет другого автора, который лучше объясняет .NET. В книге есть несколько примеров, которые вы можете попробовать.

Поскольку вы говорите, что вы новичок... тогда Head First С# также будет предлагаемым чтением Отношения